2

需要您对 RegEx 的帮助。我当前的正则表达式是/^\d{8,}$/ - 最小长度为 8,不允许有字母、特殊字符和空格。我也想禁止像 00000000 这样的全零

谢谢!

4

1 回答 1

7

此模式应满足您的需求:^(?!0+$)\d{8,}$

(?!0+$)部分是一个负前瞻,它将防止仅输入零。

例子:

var pattern = @"^(?!0+$)\d{8,}$";
var inputs = new[]
{
    "00000000",         // false
    "(123) 456-789",    // false
    "123",              // false
    "01234567",         // true
    "500000000",        // true
    "123456789"         // true
};

foreach (var input in inputs)
{
    Console.WriteLine("{0}: {1}", Regex.IsMatch(input, pattern), input);
}
于 2013-08-01T06:32:59.167 回答