如何在 Javascript 中正确验证电子邮件和密码
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/16313741/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
How to validate email and password correctly in Javascript
提问by Helen Baade
in my HTML code i have this
在我的 HTML 代码中,我有这个
<form name="login">
<p> Email Address <input type="text" name="EmailAddress"> Password <input type="password" name="pword">
<input type="button" value="Submit" onclick="ValidateUser()"></button> </p>
and in my javascript code i have this
在我的 javascript 代码中,我有这个
function ValidateUser() {
var pword= new RegExp (/^[a-zA-Z0-9]{4,100}$/)
if (pword.test(password)) {
return true
}
else {
alert("Incorrect Password or Username")
}
var email= new RegExp (/^[A-Za-z0-9_.]{2,100}+@[A-Za-z0-9.-]{2,100}+\.[A-Za-z]{2,100}$/)
if (email.test(EmailAddress)) {
return true
}
else {
alert("Incorrect Password or Username")
}
}
When I click the submit button with an incorrect email and password, nothing happens. The email must have at least two characters before the "@" symbol and at least two characters after the ".". The password must have a minimum of four characters, an uppercase character, a lower case character and a n
当我使用错误的电子邮件和密码单击提交按钮时,没有任何反应。电子邮件必须在“@”符号前至少有两个字符,在“.”后至少有两个字符。密码必须至少有四个字符,一个大写字符,一个小写字符和一个
回答by Mina Adel
var ck_email = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]
{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
function validate(form){
var email = form.email.value;
var password = form.password.value;
var errors = [];
if (!ck_email.test(email)) {
errors[errors.length] = "You must enter a valid email
address.";
}
if (password=='') {
errors[errors.length] = "You must enter the password ";
}
if (errors.length > 0) {
reportErrors(errors);
return false;
}
return true;
}
function reportErrors(errors){
var msg = "Please Enter Valide Data...\n";
for (var i = 0; i<errors.length; i++) {
var numError = i + 1;
msg += "\n" + numError + ". " + errors[i];
}
alert(msg);
}
HTML Code You have to modify action="#"
HTML 代码你必须修改 action="#"
<form method="post" action="#" onSubmit="return validate(this);" name="login">
</form>