javascript中的验证不是验证函数
我正在验证一个表单,其中包含对必填字段、字符、数字、电子邮件、密码格式、字段长度的验证 在我的代码中,必填字段和长度有效,但其余部分有效 密码格式的JavaScript代码:javascript中的验证不是验证函数,javascript,Javascript,我正在验证一个表单,其中包含对必填字段、字符、数字、电子邮件、密码格式、字段长度的验证 在我的代码中,必填字段和长度有效,但其余部分有效 密码格式的JavaScript代码: function CheckPassword(paswd) { var submitFlag = false; var paswd = /^(?=.*[0-9])(?=.*[!@#$%^&*_])[a-zA-Z0-9!@#$%^&*]{7,15}$/; if (document.re
function CheckPassword(paswd) {
var submitFlag = false;
var paswd = /^(?=.*[0-9])(?=.*[!@#$%^&*_])[a-zA-Z0-9!@#$%^&*]{7,15}$/;
if (document.reg_indi_form.pswd.length > 0) {
if (!document.reg_indi_form.pswd.value.match(paswd)) {
submitFlag = true;
document.getElementById('i3').innerHTML = "Use atleast one digit,character,specialCharacter";
document.getElementById('i3').style.color = "red";
document.getElementById('i10').style.fontSize = "12px";
//return false;
}
}
return submitFlag;
}
function alls() {
var valid = true;
valid *= req();
valid *= validateUname();
valid *= CheckPassword(this);
valid *= num();
valid *= confirm_pswd();
valid *= namevalid();
valid *= ValidateEmail(this);
return valid ? true : false;
}
我正在给所有人打电话。
所有其他不起作用的功能与checkPassword类似
HTML代码:
<form name="reg_indi_form" method="post" onSubmit="return alls()" enctype="multipart/form-data" >
<table height="100" width="1000">
<tr>
<td>
First Name<font color="#FF0000">*</font>:
</td>
<td>
<input name="txt_fnm" type="text" id="txt_fnm"/> <label id="i"></label>
</td>
</tr>
<tr>
<td>
Password<font color="#FF0000">*</font>:
</td>
<td>
<input type="password" name="pswd" id="pswd"/><label id="i3"></label>
</td>
</tr>
<tr>
<td>
<input type="submit" name="submit" value="Submit"/>
</td>
<td>
<input type="reset" name="reset" value="Reset"/>
</td>
</tr>
</table>
</form>
考虑到密码正确时CheckPassword返回true
现在,在CheckPassword函数document.reg_indi_form.pswd.value.matchpaswd中,如果模式匹配,则该语句返回true。你已经添加了!意味着当密码与给定模式不匹配时,它将返回true。我已经编辑了下面的函数,也考虑使用布尔运算符,而不是在任何可能的情况下使用多个/嵌套的if语句。你没有id为i10的字段,我想应该是i3
最后,为什么在alls函数中对布尔值使用*=运算符?应该使用布尔运算符。此外,这会将当前表单或字段对象传递给函数,因为您使用document.formName.fieldName访问表单的字段,因此在该上下文中不需要该对象。此外,末尾的三元布尔?value1:value2运算符也是不必要的
function alls() {
var valid = req()
&& validateUname()
&& CheckPassword()
&& num()
&& confirm_pswd()
&& namevalid()
&& ValidateEmail();
return valid;
}
将paswd作为参数传递,然后用正则表达式覆盖其值,如何验证密码?但当我在提交时调用此函数时,此函数会单独工作。请发布相应的HTML。除了发布相应的HTML,请提供您在哪些浏览器中测试此代码。我在chrome中测试。当我将此代码应用于checkPassword时,此代码有效。但当我将此逻辑应用于多个函数时,它不起作用。
function alls() {
var valid = req()
&& validateUname()
&& CheckPassword()
&& num()
&& confirm_pswd()
&& namevalid()
&& ValidateEmail();
return valid;
}