【发布时间】:2015-08-04 22:55:23
【问题描述】:
我有一个字符串要使用 javascript 正则表达式进行验证。该字符串可以单次出现任何不同的特殊字符。我尝试了以下模式。
/^[A-Za-z0-9]*[-!$%^&*()_+|~=`{}\[\]:";'<>?,.\/]?[A-Za-z0-9]*$/
但它允许任何两个不同的特殊字符。但根据我的情况,它应该允许每个特殊字符单次出现(例如,单次出现 '&' 和 '%' 是可以接受的,但不允许出现两次 '&' 或任何其他字符)。请帮忙。
【问题讨论】:
-
这个正则表达式模式只允许一个特殊字符,看看regex101.com/r/cH7pV7/1
-
是否可以使用单一模式对其进行验证。很难从字符串中获取所有匹配的特殊字符并手动查找重复项。即使我不确定这种方法,我还没有尝试过。
标签: javascript regex