我想要做的是在 JavaScript 中建立一个函数,该函数将验证输入的电子邮件和密码,检查输入的电子邮件以确保它在字符串中最后一个句点之后至少有 2-3 个字符(对于 .com 、.org、.ca 等),并且该字符串中至少有一个“@”符号。
对于检查密码,我希望函数检查它是否至少有一个小写字母和一个大写字母,至少一个数字,以及至少一个特殊字符(!,@,#,$,%,^ ,&,*,~)
有谁知道我需要做什么才能得到正则表达式来检查密码中至少 1 个特殊字符,如 !、@、* 等?
这是我所拥有的:
function validatePassword(password)
{
var passwordPattern = /(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,}/;
return passwordPattern.test(password)
}
// Validate form
function validate()
{
var email = user.email.value;
if(validateEmail(user.email.value))
user.validEmail.value = "OK";
else
user.validEmail.value = "X";
if(validatePassword(user.password.value))
user.validPassword.text = "OK";
else
user.validPassword.text = "X";
}
最佳答案
您可以在这两种情况下使用正则表达式。 至于电子邮件,您可以在这里阅读更多内容:http://www.zparacha.com/validate-email-address-using-javascript-regular-expression/ 至于密码检查,我建议阅读以下内容:http://www.the-art-of-web.com/javascript/validate-password/
这是密码验证:
<input type="password" id="txtPassword" onblur="validate"/>
<script type="text/javascript" src="../jQuery/jquery-1.6.4.min.js"></script>
<script type="text/javascript">
var txtPassword = null;
var txtPassword_Blur = function(e) {
var exp = /(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,}/;
var validPassword = exp.test($(this).val());
if(validPassword) {
alert('valid');
} else {
alert('not valid');
}
};
$(function() {
txtPassword = $("#txtPassword");
txtPassword.bind("blur", null, txtPassword_Blur);
});
</script>
注意:此正则表达式不检查特殊字符。我认为这特定于您的定义,但您可以编辑表达式并添加您认为对您的情况特殊的字符列表。
关于javascript - 在 JavaScript 中验证输入的电子邮件和密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8262635/