Heim > Fragen und Antworten > Hauptteil
正则表达式匹配一个字符不能为纯数字也不能为纯字母,必须带有数字和字母,同时特殊符号也是可以输。
可以为 aaa123 a123!@# 123!aaa 只是不能为 aaaaaa 111111
PHPz2017-04-11 11:28:16
匹配一个由字母,数字或特殊字符组成的长度为6-12的字符串,字符串中必须同时包含字母和数字。不明白你的特殊字符的定义是什么,姑且理解为键盘上所有可输入的除字母,数字之外的字符。
^(?![^A-Za-z]+$)(?![^0-9]+$)[\x21-x7e]{6,12}$
天蓬老师2017-04-11 11:28:16
表意不太明确,可以直接去掉必须带有数字和字母,同时特殊符号也是可以输这句话。即为不能为纯数字或纯字母。那么匹配纯数字和纯字母的字符串,返回false就可以了。
另外可以在正则匹配之前使用函数去除字符串的首尾空格,因为你这里说的特殊字符不太明确。所以正则表达式只能写成这样。
^(d*|[a-zA-Z]*)$