如何使用正则表达式检查用户输入是否仅包含特殊字符?

Ark*_*rko 5 javascript regex validation jquery

如何把验证过的字段,它不会只允许特殊字符,这意味着AB#,A89@,@#ASD被允许的,但@#$^&还是#不允许.我需要RegEx进行此验证.

Yan*_*hon 9

str.match(/^[A-Z#@,]+$/)
Run Code Online (Sandbox Code Playgroud)

将匹配一个字符串......

  • ...以封闭的图案开始^和结束$
  • ...包含任何大写字母A-Z(不符合小写字母)
  • ...只包含特殊字符#,@,
  • ...至少有1个字符(没有空字符串)

对于不区分大小写的,您可以i在最后添加:(ig /pattern/i)

**更新**

如果需要验证字段是否仅包含特殊字符,则可以检查字符串是否仅包含非字或数字的字符:

if (str.match(/^[^A-Z0-9]*$/i)) {
   alert('Invalid');
} else {
   alert('Valid');
}
Run Code Online (Sandbox Code Playgroud)

这将匹配仅包含非字母数字字符的字符串.空字符串也会产生无效.替换*+允许空字符串是有效的.