如何创建一个方法来检查电子邮件是否有效,如果验证器发现一个'@‘符号?(输入文本仅为姓名或电子邮件地址)。
发布于 2012-06-05 18:23:08
function checkMail(email){
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
if (filter.test(email)) {
return true;
}
return false;
}
checkMail('me@domain.com'); // return true or false if invalid.如果写入了有效的域,这将额外检查电子邮件地址。
me@something -->无效
@something.com -->无效
me@.com -->无效
me@something.com -->有效
Regular Expression Library -->
如果您想使用jQuery验证引擎验证邮件地址,只需添加:
data-validation-engine="validate[required,custom[email]]"添加到输入字段。
从表单验证引擎1.6.4开始,可以添加您自己的用于验证的函数:http://www.position-absolute.com/news/form-validation-engine-1-6-4/
您可以将示例中的代码替换为以下代码,然后它应该可以工作:
<input value="" data-validation-engine="validate[required,funcCall[nameOrMail]]" class="text-input nameOrMail" type="text" name="req" id="req" />JS (到您的<head>):
jQuery(document).ready(function(){
jQuery("#formID").validationEngine({
"nameOrMail": {
"nname":"nameOrMail"
}
});
});
function checkMail(email){
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
if (filter.test(email)) {
return true;
}
return false;
}
function nameOrMail(){
if($(".nameOrMail").val().indexOf('@') >= 0){
if(!checkMail($(".nameOrMail").val())) {
return "Please enter a valid mail address or name!";
}
} else {
if($(".nameOrMail").val() === '') {
return "Please enter a valid mail address or name!";
}
}
}现场演示:http://jsfiddle.net/4dUyX/
发布于 2012-06-05 18:26:32
使用拆分函数,你就不需要正则表达式了
<script>
function check(email){
if (email.split("@").length>0) {
return true;
}
else return false;
}
check('jfvh@yahoo.com'); </script>https://stackoverflow.com/questions/10895531
复制相似问题