我有这个样本:
代码HTML:
<input type="text" name="email" class="email" placeholder="Your email address">
CODE JS:
$(document).ready(function ($) {
function validateEmail(email) {
var re = /\S+@\S+\.\S+/;
return re.test(email);
}
var email = $(".email").val();
if (validateEmail(email)) {
alert("correct format");
}else{
alert("icorrect format");
}
});
上面的代码验证无法正常运行。
你能告诉我,问题是什么?输入中输入的任何数据都无法正确检查
提前致谢!
答案 0 :(得分:0)
如果您想要简单和内置的检查。我建议type="email"
。但是,请注意,并不是所有地方都没有完全支持。 More info here
答案 1 :(得分:0)
为什么不使用
<input type="email" name="email">
?它也可以验证。
答案 2 :(得分:0)
$(document).ready(function($) {
function validateEmail(email) {
var re = /^(([a-zA-Z0-9]+)|([a-zA-Z0-9]+((?:\_[a-zA-Z0-9]+)|(?:\.[a-zA-Z0-9]+))*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-zA-Z]{2,6}(?:\.[a-zA-Z]{2})?)$)/;
return re.test(email);
}
var email = $(".email").val();
if (validateEmail(email)) {
console.log("correct format");
} else {
console.log("icorrect format");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input type="text" name="email" class="email" value="abc.def@gmail.com" placeholder="Your email address">
检查上面的代码段。
答案 3 :(得分:0)
$(function(){
$('#txtEmail').on('input', function () {
console.log(validateEmail($(this).val()));
})
})
function validateEmail(email) {
var expr = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
return expr.test(email);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="txtEmail" type="text" name="email" class="email" placeholder="Your email address">
尝试这个....输入电子邮件,它返回true,否则返回false。