【发布时间】:2020-11-06 04:31:24
【问题描述】:
要求是:
- 检查用户输入以字符 [a-zA-Z] 开头的用户名并检查用户输入 3 或更多的用户名 字母数字字符。
- 要求用户输入8个或更多字符的密码,其中至少1个大写字母和1个数字和1个特殊字符 字符(/-+!@#$^&)。
- AND密码和确认密码输入相同。
我已经完成了电子邮件和所需的输入,但对如何在 JavaScript 中执行此操作感到困惑。
这就是我所做的:
<script>
function validateForm() {
var nameRegex = /^[a-zA-Z\-]+$/;
var passregex= /^(?=.{8,})(?=.*[0-9])(?=.*[A-Z])(?=.*[@#$%^&+*!]).*$/;
var uname = document.myForm.firstName.value.match(nameRegex);
var firstpassword=document.myForm.password.value;
var secondpassword=document.myForm.password2.value;
var firstpassword = document.myForm.password.value.match(passregex);
if(uname == null){
if(uname.length<3){
alert("Username length should be atleast 3 and make sure it starts with A-Z");}
return false;
}
elseif(firstpassword==null){
if(firstpassword.length<8){
alert("Password must be at least 6 characters long.");
return false;
}
elseif(firstpassword==secondpassword){
alert("Please enter same password");
return false;
}
}
}
</script>
【问题讨论】:
-
你能分享你以前的尝试吗?
-
请添加您的代码,以便我们为您提供帮助。
-
@Parth,对不起!现在我已经添加了它
-
如果你想匹配一个正则表达式和一些东西,你不能使用像这样的直接赋值
name!="^[A-Za-z]"你需要匹配模式和用户输入。所以你可以使用if(YourRegularExpression.test(stringThatIsUserInput)),如果匹配就会返回true。
标签: javascript html regex