【问题标题】:Allowing new line characters in javascript regex在 javascript 正则表达式中允许换行符
【发布时间】:2012-04-26 14:30:11
【问题描述】:

我在我的网站上使用实时验证(来自 livevalidation.com),我有一个文本区域,我需要在其中允许换行/换行/返回字符,但尽管我尽了最大努力,但还是失败了。我试过 \n \r \v \s\S 每个都有 \escape 和没有。

这是我没有使用上述字符的代码:

my_notes.add( Validate.Format, { pattern: /^[a-zA-Z0-9ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïñòóôõöøùúûüýÿ\.\,\-\/\']+[a-zA-Z0-9ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïñòóôõöøùúûüýÿ\.\,\-\/\' ]+$/i } );

任何建议将不胜感激。

【问题讨论】:

  • 哇;这是一个正则表达式。这是什么意思?
  • 你不能在你的字符类中使用 HTML 实体。而不是#192;使用\xc0。重音字符 À 也可以。
  • 感谢您的指点,将看到调整它。它应该允许输入特殊字符而不会太保留。所以人们可以输入带有口音等的名字。

标签: javascript return line newline feed


【解决方案1】:

/m 修饰符允许模式匹配多行,其中 /i 在模式的末尾尝试 /mi 代替

【讨论】:

  • 这实际上不是m 所做的。 m 使 ^$ 分别匹配行的开头和结尾。有或没有m,只要你有匹配换行符的东西(如\s),“多行匹配”都是可能的。因此,该模式现在所做的只是验证其中一行具有正确的格式(其他行可以包含任意字符)。我认为 David Gorsline 在对该问题的评论中发现了真正的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-02
  • 2013-01-06
  • 1970-01-01
  • 1970-01-01
  • 2023-03-06
  • 1970-01-01
相关资源
最近更新 更多