正则匹配密码只能是数字和字母组合字符串功能【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
希望本文所述对大家正则表达式学习有所帮助。