【问题标题】:How to escape double quote in parsley data-parsley-pattern?如何在欧芹数据欧芹模式中转义双引号?
【发布时间】:2019-08-08 12:36:55
【问题描述】:

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

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

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

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

但它不起作用。

【问题讨论】:

  • 但第一个工作正常。
  • 正确。看我的回答。我希望它现在涵盖了所有内容。

标签: regex parsley


【解决方案1】:

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

接下来,如果您使用字符串模式,您可以缩短代码。见Parseley docs

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"

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

【讨论】:

  • 是的!现在它的工作。非常感谢。一疑。我可以用“”符号?
  • @srj 是的," 也适用于 "' 也适用于 '。我更喜欢更通用的\xXX 表示法,它更易于跨环境移植。
猜你喜欢
  • 2016-05-14
  • 1970-01-01
  • 2023-03-15
  • 1970-01-01
  • 2014-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多