在正则表达式字符串中转义反斜杠[重复]

2024-02-15

我正在尝试将反斜杠添加到以下允许的字符列表中。必须使用它并传入它,如下面的 RegExp 字符串所示:

我尝试过逃避它,但无济于事:

expandedText: function (e) {

        var regex = new RegExp("^[\\w., #&/-]+$");
        var key = String.fromCharCode(!e.charCode ? e.which : e.charCode);

        if (!regex.test(key)) {
            event.preventDefault();
            return false;
        }
    }

因为您是从字符串文字创建正则表达式,所以双反斜杠被解释为转义反斜杠在字符串内你将得到这个正则表达式:

^[\w., #&/-]+$

这与单词字符匹配,但找不到反斜杠。

解决方案:转义两个反斜杠,并为\w,产生六个反斜杠:

var regex = new RegExp("^[\\\\\\w., #&/-]+$");

或者更好的是,使用正则表达式文字并且仅使用三个反斜杠:

var regex = /^[\\\w., #&/-]+$/;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在正则表达式字符串中转义反斜杠[重复] 的相关文章