如何用js实现注册时的两次密码一致才通过
时间:2011-09-04
来源:互联网
下面是详细代码 其实我就想问一下 如何让两次密码一致的情况下通过 出现了很多错误 比如 密码不符合要求但是密码一致他也在密码框后面的div中给我显示了正确 两个密码为空也正确 求一个精简的判断两次密码一致无bug js
JScript code
JScript code
function $(id){ return document.getElementById(id); } function currencyFocus(id,promptTxt){ var Div=$(id); Div.className="import_prompt"; Div.innerHTML=promptTxt; } function userNameFocus(){ currencyFocus("nameid","字母数字的组合最少6位!"); } function pwdFocus(){ currencyFocus("passid","字母数字的组合最少6位!"); } function rpwdFocus(){ currencyFocus("repassid","字母数字的组合最少6位!"); } function nickNamefocus(){ currencyFocus("zNameid","必须是汉字最少2位最多5位!"); } function emailfocus(){ currencyFocus("emailid","必须是合法邮箱!"); } function addressfocus(){ currencyFocus("addressid","请输入您正确的地址!"); } function currencyBlur(fromId,DivId,reg,promptTxt){ var value=$(fromId).value; var Div=$(DivId); //if(value!=""){ if(reg.test(value)==false){ Div.innerHTML=promptTxt; Div.className="error_prompt"; return false; }else{ Div.innerHTML="输入正确!"; Div.className="ok_prompt"; return true; } //} //Div.innerHTML=""; //Div.className=""; } //检查两次输入密码是否一样 function checkpass(){ var pass=$("pass").value; var rpass=$("repass").value; var Div=$("repassid"); var Div2=$("passid"); if(pass==rpass&&pass!=""&&rpass!=""){ Div.innerHTML="输入正确!"; Div.className="ok_prompt"; Div2.innerHTML="输入正确!"; Div2.className="ok_prompt"; return true }else if(pass==""&&rpass==""){ Div.innerHTML=""; Div.className=""; Div2.innerHTML=""; Div2.className=""; return false; }else{ Div.innerHTML="两次密码输入不一致!"; Div.className="error_prompt"; Div2.innerHTML="两次密码输入不一致!"; Div2.className="error_prompt"; return false; } } function userNameBlur(){ var reg=/^[a-zA-Z][a-zA-Z0-9]{5,8}$/; return currencyBlur("uname","nameid",reg,"输入格式不正确!"); } function pwdBlur(){ var reg=/^[a-zA-Z][a-zA-Z0-9]{5,8}$/; if(checkpass()){ return currencyBlur("pass","passid",reg,"输入格式不正确!"); }else{ return false; } } function rpwdBlur(){ var reg=/^[a-zA-Z][a-zA-Z0-9]{5,8}$/; if(checkpass()){ return currencyBlur("repass","repassid",reg,"输入格式不正确!"); }else{ return false; } } function nickNameBlur(){ var reg=/^[\u4e00-\u9fa5]{2,5}$/; return currencyBlur("zName","zNameid",reg,"输入格式不正确!"); } function emailBlur(){ var reg=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; return currencyBlur("email","emailid",reg,"输入格式不正确!"); } function addressBlur(){ var reg=/^[\u4e00-\u9fa5][a-zA-Z0-9\u4e00-\u9fa5]{6,50}$/; return currencyBlur("address","addressid",reg,"输入格式不正确!"); } function checkForm(){ if(userNameBlur()&&pwdBlur()&&nickNameBlur()&&emailBlur()&&addressBlur()){ return true; }else{ return false; } }
作者: dbh0512 发布时间: 2011-09-04
给个思路,先验证密码格式,不正确直接提示“重新输入”,符合要求的话,再比对两个div的value值,不一致,提示“密码不一致”,并清空第二个div的内容外加focus()...
作者: BLUE_LG 发布时间: 2011-09-04
如果不符合格式的这种情况
你的checkpass函数中
if(pass==rpass&&pass!=""&&rpass!=""){
Div.innerHTML="输入正确!";
Div.className="ok_prompt";
Div2.innerHTML="输入正确!";
Div2.className="ok_prompt";
return true
}
上来就把两个div的innerHTML设为"输入正确" 然后当走currencyBlur函数时 因为密码不符合格式 密码div的innerHTML变了 但此时return了false 所以重复密码的div还是输入正确
你的checkpass函数中
if(pass==rpass&&pass!=""&&rpass!=""){
Div.innerHTML="输入正确!";
Div.className="ok_prompt";
Div2.innerHTML="输入正确!";
Div2.className="ok_prompt";
return true
}
上来就把两个div的innerHTML设为"输入正确" 然后当走currencyBlur函数时 因为密码不符合格式 密码div的innerHTML变了 但此时return了false 所以重复密码的div还是输入正确
作者: fanchuanzhidu 发布时间: 2011-09-04
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28