【问题标题】:Regex validation for description box描述框的正则表达式验证
【发布时间】:2017-02-07 05:53:03
【问题描述】:

有一个描述框,其中 ajax 用于计算字符数。 需要验证输入的描述框。 标准是它应该允许所有内容 - 字母、空格、换行符、特殊字符等。 但是,输入不能只有数字/特殊字符/空格!

已经坚持了很长一段时间了,我写的正则表达式导致了灾难性的回溯错误。

请为此提供解决方案。

【问题讨论】:

  • 所以你的意思是每个字母、空格、换行符、特殊字符至少应该出现一次?
  • @A.J 唯一的要求是描述框中应该至少有一个字母。休息它可以包含任何其他东西,如数字、空格、特殊字符等。
  • @Wiktor ,目前我正在使用这个 ^.*[a-zA-Z]+.*$
  • 它对所有验证都按预期工作,但当我按 enter 并输入新行时不起作用。请你也请用多行正则表达式阻止我。
  • . 替换为[\s\S]。但是,我看不到您的代码,它可能不适合您。

标签: jquery regex


【解决方案1】:
  • 允许的内容:字母、特殊字符、空格、换行符和可能的数字
  • 不允许的东西:只有特殊字符、空格、数字和可能的换行符
  • 这导致描述中至少存在一个字母

所以这个^(.|\s)*[a-zA-Z]+(.|\s)*$ 应该可以帮助你

  • (.|\s)* --> 包括空格在内的任何字符,如果您希望第一行至少有一个字母,则将其替换为 .*
  • [a-zA-Z]+至少一个字母
  • (.|\s)* --> 后跟任何字符,包括空格字符(如换行符)

【讨论】:

  • 您好,非常感谢。我试过 。它适用于一切。除非我按回车,否则验证失败。你能告诉我如何容纳任意数量的输入。
  • @shubbi 编辑了答案以包含空格字符
  • @shubbi 如果有效,请将答案标记为正确,以便其他人知道
  • @shubbi regex101.com/r/KZUmmJ/1 在这里您可以测试该正则表达式。它对我来说适用于多行字符
  • 它不起作用,您已经提到它将如何占用空白空间。但我正在寻找多行正则表达式,它也允许我使用任意数量的换行符。所以我可以通过输入空格、换行(回车)等输入最多 2000 个字符。
猜你喜欢
  • 1970-01-01
  • 2016-09-28
  • 1970-01-01
  • 1970-01-01
  • 2021-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多