【问题标题】:How to accept only alphabets without space in regexed?如何在正则表达式中只接受没有空格的字母?
【发布时间】:2015-05-10 12:15:40
【问题描述】:

我想验证联系表格中的全名。我想限制字母中的空格。文本框应该只接受 a-z 字符。

我使用了这个正则表达式

ValidationExpression="[a-zA-Z ]*$"

但它也允许空格。

【问题讨论】:

  • 它接受是因为您的表达式中包含空格。将其更改为ValidationExpression="^[a-z]*$"
  • 如何使用此验证限制 50 个字母的文本框 [a-zA-Z]*$ @nu11p01n73R
  • 您可以为此使用量词。我已经编辑了我的答案以包含它。希望现在对你有帮助
  • hai 朋友,我需要一个可以接受字母 a-z 和数字 1-9 的正则表达式。你能再帮我一次吗@nu11p01n73R
  • 只需将1-9 添加到字符序列中。 ValidationExpression="^[a-z1-9]*$"

标签: c# asp.net regex validation


【解决方案1】:

您的正则表达式不起作用,因为它在字符 squance 中包含空格。

您可以正确指定模式为

ValidationExpression="^[a-z]*$"
  • ^ 将正则表达式锚定在字符串的开头。
  • [a-z]* 匹配零个或多个字符
  • $ 将正则表达式锚定在字符串的末尾。

Regex Demo

编辑

要将字符限制为50,我们可以使用量词作为

ValidationExpression="^[a-z]{,50}$"
  • {,50} 限定符确保最多可以有 50 个字符。

【讨论】:

  • 如果要求它不区分大小写而不是使用 a-zA-Z 或使用正则表达式修饰符
【解决方案2】:

只删除角色类中的空格?

同时锚定正则表达式,使其在行首匹配:

^[a-zA-Z]*$

并考虑到 ^ 和 $ 可能会受到表示它应该在换行符处匹配或不匹配的修饰符的影响

【讨论】:

    【解决方案3】:

    我只会使用“^[a-zA-Z]+$”。

    我认为您遇到的问题是 Z 和 ] 之间有一个空格。当我对此进行测试时,它允许在正则表达式中输入空格。我还将 * 更改为 + 以不允许空白字符串。

    【讨论】:

      猜你喜欢
      • 2011-11-14
      • 1970-01-01
      • 2015-10-01
      • 1970-01-01
      • 2017-01-01
      • 2016-03-27
      • 1970-01-01
      • 2012-09-12
      • 2014-08-15
      相关资源
      最近更新 更多