javascript - 用户名和密码的 JavaScript 验证
问题描述
要求是:
- 勾选用户输入以字符[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>
解决方案
function validateForm() {
if (document.myForm.userName.value && document.myForm.password.value && document.myForm.confirmpassword.value) {
if (document.myForm.password.value === document.myForm.confirmpassword.value) {
if (document.myForm.userName.value.length < 3) {
alert("Username length should be atleast 3 and make sure it starts with A-Z");
return false;
} else if (document.myForm.password.value.length < 8) {
alert("Password must be at least 6 characters long.");
return false;
} else {
if (new RegExp(/^[A-Za-z][A-Za-z0-9]+$/).test(document.myForm.userName.value) === false) {
alert('Username begins with a character[a-zA-Z] ');
return false;
} else if (new RegExp(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[#$@!%&*?])[A-Za-z\d#$@!%&*?]{8, 30}$ /).test(document.myForm.password.value)) {
alert("password is 8 or more characters where at-least 1 uppercase letter And 1 number AND 1 of the special characters (/-+!@#$^&)");
return false;
} else {
alert('Success !');
return true;
}
}
} else {
alert("password & confirm password not match!");
return false;
}
} else {
alert("Please add valid credentials..");
return false;
}
}
<form name="myForm" action="main.html" method="post">
<!-- onSubmit="return validateForm();" -->
<label>User name</label><br />
<input type="text" name="userName" placeholder="userName" />
<br />
<label>Password</label><br />
<input type="password" name="password" placeholder="password" />
<br />
<label>Confirm Password</label><br />
<input type="password" name="confirmpassword" placeholder="confirm password" />
<br />
<input type="button" value="Login" onclick='validateForm();' />
</form>
注意:-我已经添加了您的所有积分,如果出现问题,请告诉我!
推荐阅读
- aws-lambda - 是否可以使用 SAM cli 为 aws lambda 发布新版本
- node.js - 如何在 Docker 中手动重启 Node-RED?
- c# - 错误 System.Runtime.InteropServices.COMException:'对不起,我们找不到 xxx.xlsx。有没有可能它被移动、重命名或删除?
- twilio - Client.getConversationByUniqueName 和 Client.getConversationBySid 找不到其他用户创建的对话
- asp.net - 如何使用 Serilog 注册 Microsoft Logger
- node.js - NestJS/Mongoose - 在钩子里面查询
- flutter - Flutter:agora rtc 引擎使应用程序在另一台设备上崩溃
- linux - 如何在 bash 中创建一个“停止”脚本来关闭我之前使用不同的 bash 脚本打开的 gnome-terminal 选项卡?
- angular - Angular DI 注入令牌的类型与工厂的返回值类型不匹配,但服务接受
- makefile - GNU make 中 for 循环中的字符串替换