正则匹配密码只能是数字和字母组合字符串功能【php与js实现】
本文实例讲述了正则匹配密码只能是数字和字母组合字符串功能。分享给大家供大家参考,具体如下:
密码要求:
1.不能全部是数字
2.不能全部是字母
3.必须是数字和字母组合
4.不包含特殊字符
5.密码长度6-30位的字符串
/** *@descget_pwd_strength()im:根据密码字符串判断密码结构 *@param(string)$mobile *return返回:$msg */ functionget_pwd_strength($pwd){ if(strlen($pwd)>30||strlen($pwd)<6) { return"密码必须为6-30位的字符串"; } if(preg_match("/^\d*$/",$pwd)) { return"密码必须包含字母,强度:弱";//全数字 } if(preg_match("/^[a-z]*$/i",$pwd)) { return"密码必须包含数字,强度:中";//全字母 } if(!preg_match("/^[a-z\d]*$/i",$pwd)) { return"密码只能包含数字和字母,强度:强";//有数字有字母"; } }
js正则匹配
/** *检测密码强度,必须由数字与字母组合,至少6位的字符串。 */ $.checkPwd=function(v){ v=$.trim(v); if(v.length<6||v.length>30){ return"密码长度为6-30位"; } if(/^\d+$/.test(v)) { return"全数字"; } if(/^[a-z]+$/i.test(v)) { return"全字母"; } if(!/^[A-Za-z0-9]+$/.test(v)) { return"只能含有数字有字母"; } return"正确"; };
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript
正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg
希望本文所述对大家正则表达式学习有所帮助。