首页 > 解决方案 > 如何在欧芹数据欧芹模式中转义双引号?

问题描述

我正在使用欧芹进行 javascript 验证。我目前的正则表达式模式是

data-parsley-pattern="/^[0-9a-zA-Z\!\@\#\$\%\^\&\*\(\)\-\_\+\?\'\.\,\/\\r\n ]+$/"

如何在我的模式中添加双引号。我已将\"添加到模式

data-parsley-pattern="/^[0-9a-zA-Z\!\@\#\$\%\^\&\*\(\)\-\_\+\?\'\"\.\,\/\\r\n ]+$/"

但它不起作用。

标签: regexparsley

解决方案


请注意,您转义了模式,您转义的几乎所有字符在字符类中都不是特殊的。

接下来,如果您使用字符串模式,您可以缩短代码。请参阅Parseley 文档

data-parsley-pattern="\d+"

请注意,模式是锚定的,即必须匹配整个字符串。Parsley 偏离了图案看起来像的标准/pattern/{flag};这些被解释为文字正则表达式并且没有锚定。

这意味着您不需要^,并且$如果您在没有正则表达式分隔符的情况下定义模式,/.

至于引号,您可以使用通用\xXX符号。

您可以使用

data-parsley-pattern="[0-9a-zA-Z!@#$%^&*()_+?\x27\x22.,/\r\n` -]+"

或者

data-parsley-pattern="/^[0-9a-zA-Z!@#$%^&*()_+?\x27\x22.,/\r\n` -]+/$"

在哪里和\x27是。'\x22"

请注意,-字符类的末尾是文字连字符的安全位置,您不必将其转义。


推荐阅读