PHP判断字符串由数字和大小写字母组成、长度至少6位一般是密码的组合。
用此正则可以判断字符串
\A(?=\S*?[A-Z])(?=\S*?[a-z])(?=\S*?[0-9])\S{6,}\z
上个PHP测试下:
$preg='/\A(?=\S*?[A-Z])(?=\S*?[a-z])(?=\S*?[0-9])\S{6,}\z/';
$str='1232ASDasd';
$rr = preg_match($preg, $str);
if($rr) {
echo 'OK';
}else {
echo 'NO';
}
?>
结果:
OK
其中的正则
\A 目标的开头(独立于多行模式)
\z目标的结尾(独立于多行模式)
\A 和 \z配合使用
它们仅匹配目标字符串的绝对开头和结尾
\S 任一非空白字符
\S*? 就是一个以上的非空白字符。
[A-Z] 大写字母
[a-z] 小写字母
[0-9] 数字
(?=内容) 向前查看内容
{6,} 重复6到无穷