大家好:
我正在尝试使用 jQuery 使用以下格式验证电子邮件:
[name]_[lastname] @ company.com (always ending in 'company.com')
这是一个代码示例:
HTML:
<body>
<form onSubmit='validate(); return false;'>
<p>Enter an email address:</p>
<input id='email'>
<button type='submit' id='validate'>Validate!</button>
</form>
<br/>
<h2 id='result'></h2>
<script>
CSS:
article, aside, figure, footer, header, hgroup,
menu, nav, section { display: block; }
JS:
function validateEmail(email) {
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@(usmp.pe)$/;
return re.test(email);
}
function validate(){
$("#result").text("");
var email = $("#email").val();
if (validateEmail(email)) {
$("#result").text(email + " is valid :)");
$("#result").css("color", "green");
} else {
$("#result").text(email + " is not valid :(");
$("#result").css("color", "red");
}
return false;
}
$("form").bind("submit", validate);
我正在使用以下 jsFiddle
通过此示例,我可以验证以“company.com”结尾的电子邮件,但我无法弄清楚如何验证姓名和姓氏之间的“@”之前带有“_”符号的电子邮件。有什么想法吗?
谢谢!
最佳答案
您只需在名字正则表达式后面添加一个破折号,然后再次复制它作为姓氏。
它应该看起来像这样:
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))_(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@(company.com)$/;
如果您用此行替换代码,它应该可以工作。
(编辑:将破折号更改为下划线)
关于javascript - jQuery:使用 'name_lastName@company.com' 格式的电子邮件验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25670803/