C# 是否可以使用asp:RegularExpressionValidator验证至少10位数字的电话号码,并允许中间有空格但不计算在内

C# 是否可以使用asp:RegularExpressionValidator验证至少10位数字的电话号码,并允许中间有空格但不计算在内,c#,asp.net,regex,C#,Asp.net,Regex,我搜索了Stackoverflow,似乎其他答案不太符合我的问题 我想知道如果我只使用asp:RegularExpressionValidator验证至少10位的电话号码,并允许数字之间有空格,但这些空格不计算在内,这是否可能 这就是我现在使用的 "^[0-9]{10,}$" 谢谢。您可以使用下面基于正向前瞻的正则表达式 @"^(?=(?:\s*\d){10,})[\s\d]+$" 或 开始处的正向前瞻断言要匹配的字符串必须至少包含10位数字(?:\s*\d){10}正好是(零个或多个空格和

我搜索了Stackoverflow,似乎其他答案不太符合我的问题

我想知道如果我只使用asp:RegularExpressionValidator验证至少10位的电话号码,并允许数字之间有空格,但这些空格不计算在内,这是否可能

这就是我现在使用的

"^[0-9]{10,}$"

谢谢。

您可以使用下面基于正向前瞻的正则表达式

@"^(?=(?:\s*\d){10,})[\s\d]+$"

开始处的正向前瞻断言要匹配的字符串必须至少包含10位数字
(?:\s*\d){10}
正好是(零个或多个空格和一个数字)的10倍

如果不想匹配包含前导或尾随空格的字符串,请在开头和结尾添加单词边界

^(?=(?: *\d){10})\b[ \d]+\b$

^(?=(?:\s*\d){10,})[\s\d]+
太棒了~!!!我打开同一个网站测试你的正则表达式,突然发现你已经在同一个网站上用演示更新了你的帖子,酷!我看到您使用了/gm,如何在asp:RegularExpressionValidator中应用/gm?我认为
m
修饰符就足够了<代码>@“(?m)^(?=(?:*\d){10}[\d]+$”
你好,阿维纳什,谢谢你的帖子!如何在asp验证程序控件中使用/gm内容?我这样试过:它不起作用。在我删除/gm之后,它开始工作。您不需要包括
/gm
。在正则表达式中包含修饰符是不正确的。建议在正则表达式中使用修饰符的方法类似于
(?m)
。通过将其置于起始位置,可以启用多行模式。请注意,不能以这种方式启用全局修改器。默认情况下,大多数语言(包括C#)都启用
g
修饰符。你不需要包括这些。
^(?=(?: *\d){10})\b[ \d]+\b$