/([:alpha:].*[:digit:]|[:digit:].*[:alpha:])/
这需要一个数字跟随一个字母,或者一个字母跟随一个数字。
从您的原始正则表达式中,您似乎想要强制要求总共 40 个字符。为此,请尝试:
/^(.*[:alpha:].*[:digit:].*|.*[:digit:].*[:alpha:].*){40}$/
注意额外.*
的 's。只要有一个字母和一个数字,其他字符可以是任何字符。只要有40个。
如果要避免匹配空格,请将每个替换.*
为[^[:space:]]*
.