【问题标题】:Regarding Applying validation in textbox through Regular Expression关于通过正则表达式在文本框中应用验证
【发布时间】:2014-10-20 05:51:31
【问题描述】:

我正在尝试在文本框控件中应用验证以限制控件中的空白空间。以下是我正在使用的正则表达式代码:

Regularexpression validationexpression="^[^-\s][a-zA-Z0-9_\s-]+$" errortext="" /> 

现在我的要求是:

  1. 用户不应在开始时输入空白空间。 (工作正常)
  2. 文本框最多可输入 10 个数字,用户可以输入任意数量的数字,如果输入的数字少于 10 个,则不进行验证。 (工作正常。)
  3. 如果用户输入这样的数字,验证应该提示“111 111 ", 表示如果中间有空格则显示验证 数字。 (不工作)

目前我正在使用以下正则表达式来实现这个东西,请让我知道或更新我的正则表达式,以便我可以实现这个要求。

Regularexpression validationexpression="^[^-\s][a-zA-Z0-9_\s-]+$" errortext="" /> 

【问题讨论】:

  • 如果您不想输入空格,请从正则表达式中删除 \s
  • @Aman 你能发布一些匹配和不匹配字符串的例子吗?
  • @WaqasRaja:感谢您的快速回复,但它没有按照我的要求工作。

标签: asp.net .net regex devexpress


【解决方案1】:
^[a-zA-Z0-9_-]{1,10}$

试试这个。查看演示。

http://regex101.com/r/wQ1oW3/23

【讨论】:

  • 感谢您的快速回复,但当用户仅输入 4 位数字时会出错,我还需要用户最多可以输入 10 位数字。请帮忙!
  • 感谢您的帮助,是的,它工作正常,实际上我在 devExpress 文本框中使用了掩码,因此常规 experession 无法正常工作并出现问题。我现在已经删除它并且它工作正常。为了将长度限制为 10 位,我使用了属性 MaxLength="10"。
【解决方案2】:

你可以使用像这样的正则表达式

^[^\s][\d\w_-]{1,10}$

将匹配为

http://regex101.com/r/lK4pF7/1

它是如何工作的?

^ 在字符串的开头断言模式。

[^\s] 否定 \s 验证开头没有空字符串的那些

[\d\w_-] 确保正文仅包含字母数字、_、- 没有空格。

{1,10}最小1和最大10数学,确保长度不大于10

$ 在字符串末尾断言模式

【讨论】:

  • 感谢您的帮助,是的,它工作正常,实际上我在 devExpress 文本框中使用了掩码,因此常规 experession 无法正常工作并出现问题。我现在已经删除它并且它工作正常。为了将长度限制为 10 位,我使用了属性 MaxLength="10"。该解决方案也可以正常工作,但无法将其标记为解决方案,并且网站允​​许我仅将一个答案标记为解决方案。
猜你喜欢
  • 1970-01-01
  • 2012-01-08
  • 1970-01-01
  • 2011-03-10
  • 1970-01-01
  • 2016-08-24
  • 2015-08-07
  • 1970-01-01
相关资源
最近更新 更多