正则表达式为10位数字,没有任何特殊字符

时间:2011-01-13 21:30:00

标签: c# .net regex

10位数字的正则表达式是什么(没有特殊字符,没有小数)。

6 个答案:

答案 0 :(得分:73)

使用此正则表达式仅匹配十位数字:

@"^\d{10}$"

要在字符串中的任何位置查找十个连续数字的序列,请使用:

@"\d{10}"

请注意,这也会找到11位数字的前10位数字。要在字符串中的任何位置搜索完全 10个连续数字而不是更多,您可以使用否定lookarounds

@"(?<!\d)\d{10}(?!\d)"

答案 1 :(得分:6)

使用以下模式。

^\d{10}$

答案 2 :(得分:4)

\d{10}

我相信应该这样做

答案 3 :(得分:3)

使用此:

\d{10}

我希望它有所帮助。

答案 4 :(得分:3)

如何实现它的一个例子:

public bool ValidateSocialSecNumber(string socialSecNumber)
{
    //Accepts only 10 digits, no more no less. (Like Mike's answer)
    Regex pattern = new Regex(@"(?<!\d)\d{10}(?!\d)");

    if(pattern.isMatch(socialSecNumber))
    {
        //Do something
        return true;
    }
    else
    {
        return false;
    }
}

你也可以通过另一种方式完成它。使用Match然后在模式匹配周围包装try-catch块。但是,如果经常给出错误的输入,则抛出异常会非常昂贵。因此,我更喜欢上述方式,至少在简单情况下。

答案 5 :(得分:2)

这对我有用: 只接受 10 位数字。

^[0-9]{10}$