Javascript 允许/&引用;正则表达式中的正斜杠
我知道u002f是Unicode中的正斜杠。我尝试将其添加到模式以及“/”中,但还无法将其记录为true。添加正斜杠很容易,只需将其转义即可。不需要使用任何字符引用或实体Javascript 允许/&引用;正则表达式中的正斜杠,javascript,regex,Javascript,Regex,我知道u002f是Unicode中的正斜杠。我尝试将其添加到模式以及“/”中,但还无法将其记录为true。添加正斜杠很容易,只需将其转义即可。不需要使用任何字符引用或实体 var patt = /^(?=.*[a-zA-Z0-9.!@#&*\-\u0080-\u052F])[a-zA-Z0-9\s.!@#&*',\-\u0080-\u052F]*$/; console.log(patt.test("\u002f")); var patt=/^(?=.[a-zA-Z0-9.!\
var patt = /^(?=.*[a-zA-Z0-9.!@#&*\-\u0080-\u052F])[a-zA-Z0-9\s.!@#&*',\-\u0080-\u052F]*$/;
console.log(patt.test("\u002f"));
var patt=/^(?=.[a-zA-Z0-9.!\-\u0080-\u052F])[\/a-zA-Z0-9\s.!\-\u0080-\u052F]*$;
警报(模式测试(“/测试”)
您可以使用\/
对/
字符进行转义
使用unicode实际上会产生与使用字符本身完全相同的结果,因此不会解决您的问题。如果
\002f
是正斜杠,为什么您的模式包含\u052f
?u052f是我们需要包含的另一个字符。仅供参考:在字符类中,在一些JS实现中,您甚至可以使用/
unescaped,例如/[\d/]+/g
将匹配12/24
。但是,这不是一个好主意,因为它不可移植(在Ruby中,它会导致未终止的regexp
异常,在PHP中,如果使用/
作为分隔符,您可能会得到未知修饰符
错误)。在ReEX实现中,应该考虑使用<代码> /< /COD> unLunt,其中没有使用正则表达式分隔符(C,python,java,go),以及构造函数注释(JavaScript,露比)。
var patt = /^(?=.*[a-zA-Z0-9.!@#&*\-\u0080-\u052F])[\/a-zA-Z0-9\s.!@#&*',\-\u0080-\u052F]*$/;
^