4 回答
沧海一幻觉
TA贡献1824条经验 获得超5个赞
^ 匹配一行的开头位置
(?![0-9]+$) 预测该位置后面不全是数字
(?![a-zA-Z]+$) 预测该位置后面不全是字母
[0-9A-Za-z] {6,10} 由6-10位数字或这字母组成
$ 匹配行结尾位置
if(preg_match('/\d+/',$s) && preg_match('/[a-z]+/i',$s)){ echo 'yes';}else{ echo 'no';}
$pattern = '/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,10}$/';
分开来注释一下:
^ 匹配一行的开头位置
(?![0-9]+$) 预测该位置后面不全是数字
(?![a-zA-Z]+$) 预测该位置后面不全是字母
[0-9A-Za-z] {6,10} 由6-10位数字或这字母组成
$ 匹配行结尾位置
UYOU
TA贡献1878条经验 获得超4个赞
正则表达式写法如下:
^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,10}$
解析:
^匹配字符串的开始位置。
(?![0-9]+$)断言此位置之后,字符串结尾之前,所有的字符不能全部由数字组成。
(?![a-zA-Z]+$)断言此位置之后,字符串结尾之前,所有的字符不能全部由26个英文字母组成。
[0-9A-Za-z]{6,10}匹配整个字符串由6~10位由数字和26个英文字母混合而成。
$匹配字符串的结束位置。
- 4 回答
- 0 关注
- 3986 浏览
添加回答
举报
0/150
提交
取消