根据目前使用广泛的是UTF-8字符编码:一个英文字母占一个字符,一个特殊字符占一个字符,一个中文占两个字符。6-20个字符也就是6-20个英文字母或者3-10个中文,当然也可以混合使用,只要不超过20即可。
正则表达式:
能匹配的组合为:数字+字母,数字+特殊字符,字母+特殊字符,数字+字母+特殊字符组合,而且不能是纯数字,纯字母,纯特殊字符
^(?![d]+$)(?![a-zA-Z]+$)(?![^da-zA-Z]+$).{6,20}$
上面的正则里所说的特殊字符是除了数字,字母之外的所有字符
如果要限定特殊字符,例如,特殊字符的范围为 !#$%^&* ,那么可以这么改
^(?![d]+$)(?![a-zA-Z]+$)(?![!#$%^&*]+$)[da-zA-Z!#$%^&*]{6,20}$