我需要验证文本框,它应该只接受字母(大写或小写),数字和.,?-_
。
它不应该接受任何其他值。
它不应接受......
或,,,,,
或-----
或????
或_____
之类的相同值。
它不应接受像,._
这样的值,它应该包含字母或数字,例如_.ab.?
。
答案 0 :(得分:2)
所以你希望字符串包含至少一个(ASCII)字母数字字符和至少两个不同的字符?
尝试
/^(?=.*[A-Z0-9])(?!(.)\1*$)[A-Z0-9.,?_-]*$/i
<强>解释强>
^ # start of string
(?=.*[A-Z0-9]) # assert that there is at least one of A-Z or 0-9
(?!(.)\1*$) # assert that the string doesn't consist of identical characters
[A-Z0-9.,?_-]* # match only allowed characters
$ # until the end of the string