用于验证电话的正则表达式

时间:2011-03-09 13:18:44

标签: c# javascript regex

我需要验证文本框以验证C#中的电话号码,只允许使用连字符( - )和整数值。

我想要一个只允许那些的正则表达式。

提前致谢

3 个答案:

答案 0 :(得分:2)

尝试以下方法:

"^[0-9]+(-[0-9]+)*$"

它允许穿插连字符但不是双连字符的数字,因此“3-4”是正确的,但“23--5”不是。

答案 1 :(得分:1)

假设你在C#中验证:

var regex = new Regex(@"^(?:[0-9]+(?:-[0-9])?)*$");

但是,我也会接受国家/地区代码(您需要加前缀)和空格。应该接受这些空格,因为用户可以输入它们,并且当它存储到数据库中时,它们很容易从字符串中剥离。当字符串显示给用户时,应该重新格式化以具有一些空格。

编辑:我喜欢markijbema的版本,不接受双连字符,所以我把它改成了类似的匹配。

答案 2 :(得分:0)

C#.net拥有自己的表达式编辑器

这是一个例子“(((\ d {3})?)|(\ d {3} - ))?\ d {3} - \ d {4}”