在Javascript中使用正则表达式验证输入

时间:2011-02-25 09:53:55

标签: javascript regex validation

我需要验证文本框,它应该只接受字母(大写或小写),数字和.,?-_。 它不应该接受任何其他值。 它不应接受......,,,,,-----????_____之类的相同值。 它不应接受像,._这样的值,它应该包含字母或数字,例如_.ab.?

1 个答案:

答案 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