代码之家  ›  专栏  ›  技术社区  ›  Patricia

查找单引号或双引号的javascript正则表达式无效

  •  7
  • Patricia  · 技术社区  · 7 年前

    如果发现特殊字符,我有一个正则表达式返回false。如果找到任何单引号或双引号,我会尝试修改它,以实现相同的效果。这是一次 regexr.com 没有帮助。

    ^(?=.*?[A-Z]{2})((?!!|@|$|%|\^|&|\*)).)*$
    

    下面是我的单引号和双引号正则表达式:

    ^(?=.*?[A-Z]{2})((?!'|").)*$
    

    我甚至试着逃离他们:

    ^(?=.*?[A-Z]{2})((?!\'|\").)*$
    

    请帮忙!我在这件事上浪费了太多时间,不能很快弄明白。

    我有一个方法:

    var isValidText = function (val) {
        var rx = new RegExp(\^(?=.*?[A-Z]{2})((?!!|@|$|%||^|&||*)).)*$\);
        var result = rx.text(val);
        return result;
    }
    

    简单输入:

    你喜欢的朋友;人越多越有意思

    这一段应该是无效的,一旦它发现单一报价在我们的。

    1 回复  |  直到 7 年前
        1
  •  6
  •   CAustin    7 年前

    这里不需要查找,因为您只匹配单个字符,所以可以简单地使用字符集,而不是 |

    .*[!@$%^&*'"].*