正则表达式验证数据

时间:2011-10-12 05:44:52

标签: c# asp.net regex

在我们的应用程序中,我们需要检查给定字符串是否只有数字长度为8 。我们如何在正则表达式中指定这个条件?

4 个答案:

答案 0 :(得分:2)

bool isValid = Regex.IsMatch("YourInput", @"^\d{8}$");

答案 1 :(得分:2)

写这个正则表达式真的很难吗? 3个人以3种方式做出了部分错误的回应。这清楚地表明为什么不应该使用正则表达式!因为你可以思考你知道它们是如何工作的,然后它们会咬你的^a([a-z])\1$(对于知道正则表达式的人来说这是一个笑话:-))。

正则表达式为^[0-9]{8}$。您在字符串的开头和结尾处使用^$ 锚定正则表达式。您不使用花哨的\d,因为.NET Regex认为它匹配09E6 0 BENGALI DIGIT ZERO(非欧洲数字),除非您激活其ECMA模式(RegexOptions.ECMAScript)。 \d的Javascript只表示0-9位数字。如果你真的想要使用\d,请记住转义\或在字符串(@"something")之前放置逐字字符串文字符号

答案 2 :(得分:1)

  

^ [0-9] {8} $

简单干净。你设置了可接受的值范围,在[s]和{s里面的命中数。 X和$指定字符串的开头和结尾,以确保您不匹配包含8个数字的字符串部分,如Xanatos所说。

答案 3 :(得分:0)

你有没有试过Ajax Control Toolkit中的FilteredTextBox Demonstration

非常酷。

enter image description here