我正在创建一个简单的表单,它从文本输入中获取值,检查电子邮件地址中的所有字符是否都存在并返回true或false。根据很多不同的资源,如果返回false,则不应提交表单。但是,当我在JS bin中测试它时,它会提交它。这是代码:
function validateEmail(x) {
console.log(x);
var email = x.myText.value;
console.log(email);
var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
console.log(re.test(email));
}
<form name="myForm" onsubmit="return validateEmail(this)">
<input name="myText" type="text">
<input type="submit" value="Submit">
</form>
答案 0 :(得分:3)
答案 1 :(得分:0)
试试这个:
function validateEmail(x) {
console.log(x);
var email = x.myText.value;
console.log(email);
var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
答案 2 :(得分:0)
更改 <form name="myForm" onsubmit="return validateEmail(this)">
使用此 <form name="myForm" onClick="return validateEmail(this)">
功能就像这样
function validateEmail(x) {
console.log(x);
var email = x.myText.value;
console.log(email);
var re = your regular expression;
if((re.test(email)){
document.getElementById(myForm).submit();
}