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

Gra*_*per 30 .net c# regex

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

Mar*_*ers 76

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

@"^\d{10}$"
Run Code Online (Sandbox Code Playgroud)

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

@"\d{10}"
Run Code Online (Sandbox Code Playgroud)

请注意,这也会找到11位数字的前10位数字.要在字符串中的任何位置搜索正好 10个连续数字而不是更多数字,您可以使用负面外观:

@"(?<!\d)\d{10}(?!\d)"
Run Code Online (Sandbox Code Playgroud)


小智 9

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

^[0-9]{10}$
Run Code Online (Sandbox Code Playgroud)


DSF*_*DSF 6

如何实现它的示例:

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;
    }
}
Run Code Online (Sandbox Code Playgroud)

您还可以通过另一种方式来完成此操作,例如使用Match然后将 try-catch 块包装在模式匹配周围。但是,如果经常给出错误输入,则抛出异常的成本相当高。因此,至少在简单的情况下,我更喜欢上述方式。


m.e*_*son 5

\d{10}
Run Code Online (Sandbox Code Playgroud)

我相信应该这样做