C# 数字和空格-松散电话正则表达式

C# 数字和空格-松散电话正则表达式,c#,regex,C#,Regex,如何使用正则表达式测试字符串是否只包含数字和空格 i、 e 021 123 4567有效 0211234567有效 0211 234 567有效 很宽松,但这符合我的要求 建议?类似于: \d*|\s+^[A-Za-z] /^[\d]+$/怎么样?如果需要以数字开头和结尾,则应使用/^\d[\d]*\d$/。 [0-9]n个具有任意空格数的数字: ^(\s*\d\s*){11}$ 这里n=11; 测试:这不也允许字母吗?@Marko您可以使用像这样的正则表达式测试仪来测试它。:)@富士,我做

如何使用正则表达式测试字符串是否只包含数字和空格

i、 e

  • 021 123 4567有效
  • 0211234567有效
  • 0211 234 567有效
  • 很宽松,但这符合我的要求

    建议?

    类似于:

    \d*|\s+^[A-Za-z]
    

    /^[\d]+$/
    怎么样?如果需要以数字开头和结尾,则应使用
    /^\d[\d]*\d$/

    • [0-9]
      n个具有任意空格数的数字:

      ^(\s*\d\s*){11}$
      
      这里n=11;
      测试:

      这不也允许字母吗?@Marko您可以使用像这样的正则表达式测试仪来测试它。:)@富士,我做到了(这一个),并且把“Asdasd”放回来是成功的。这将永远匹配任何字符串
      \d*
      匹配“零位或多位”,并且每个字符串中都有零位或多位。@Marko,看起来这个确实不太好用。:)这对我来说是失败的。我只是在这里@Marko使用“0123232313”进行测试,如果您正在使用该测试仪,请不要包括/。只需将文本^[\d]+$@Marko:是否删除了开头和结尾的
      /
      ?这些只是正则表达式分隔符。试试字符串
      ^\d[\d]*\d$
      ,你会发现它与
      0123232313
      匹配得很好。当然,电话号码也可以用字母表示(1-800-flowers或contacts或其他任何形式)@ryber:这是给用户的手机号码(新西兰格式)