PHP与JS实现密码正则匹配:仅限数字字母组合
作者:小满时间:2026-10-21 20:03:05浏览:285
本文详解如何使用正则表达式校验密码,要求仅包含数字和字母组合,长度6-30位,且不能全为数字或字母。提供PHP与JavaScript两种语言的具体实现代码,并附带正则测试工具链接,帮助开发者快速实现密码安全验证功能。
密码校验规则说明
本文通过具体实例,讲解如何利用正则表达式实现密码字符串的匹配功能,确保密码仅由数字和字母组成。内容包含PHP与JavaScript两种语言的实现方案,供读者参考借鉴。
密码需满足以下校验规则:
1. 不允许全部为数字 2. 不允许全部为字母 3. 必须同时包含数字和字母 4. 禁止包含特殊字符 5. 密码长度限制在6至30位之间
PHP实现代码
/**
* @desc get_pwd_strength()im:根据密码字符串判断密码结构
* @param (string)$mobile
* return 返回:$msg
*/
function get_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 "密码只能包含数字和字母,强度:强";//有数字有字母 ";
}
}
JavaScript正则匹配实现
JavaScript正则匹配实现
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 "正确";
};
正则工具推荐
此外,推荐两款实用的正则表达式在线工具供测试使用:
JavaScript正则表达式在线测试工具: http://tools.jb51.net/regex/javascript
正则表达式在线生成工具: http://tools.jb51.net/regex/create_reg
希望上述内容能对正则表达式的学习与应用提供帮助。
作者最新文章
JS空字符串、null和undefined转数字的结果是什么
2026-11-05 14:49:16
CodePen、JSFiddle与StackBlitz:主流JS在线编辑器对比
2026-11-05 13:38:29
JS怎么将时间戳转换为“刚刚”、“几分钟前”等相对时间
2026-11-05 12:55:14
JavaScript将儒略日逆向还原为公历日期时间的实现方法
2026-11-04 23:51:05
能在我的世界手机版直接修改JS代码吗
2026-11-04 19:02:53
