我有一个JavaScript函数,用于测试字符串并验证它是否包含字母,数字和一些特殊字符,包括字符%20
(空格)%27
(撇号)。
我当前的RegEx失败,因为它允许其他字符,例如%3
我想在字符串中%3
的任何匹配上失败。更好的是,我想仅在%20
和/或%27
作为一个群体进行匹配。
我的RegEx
^[0-9a-zA-Z\%20\-_:.,!\/\\%27]+$
我想要匹配
Employee%27s%20Saved
但是失败了
%3Emplo%3yee%27s%20Saved%3
答案 0 :(得分:0)
更新@MohaMad评论:
^(?:[0-9a-zA-Z-_:.,!/\\]|%20|%27)+$
通过使用非捕获组,它将仅与完全匹配产生结果。
答案 1 :(得分:0)
尝试使用非捕获组' (?!...)
。
你应该尝试这样的事情:
^(\w*(?!\%3)\w*(?:\%27|\%20)\w*)+$