如何验证以色列电话号码?

时间:2016-01-01 12:55:41

标签: c# regex validation phone-number

我需要09-8222333等电话号码字段的验证表达式。  我尝试使用#^0\d([\d]{0,9})([-]{0,9})\d{7}$#,但它没有用。

5 个答案:

答案 0 :(得分:1)

我想在mandetory开头的0,所以你可以使用以下正则表达式:0\d-\d{7} 登记regex101

\d表示[0-9],{num}表示num次重复

答案 1 :(得分:0)

这样的事情应该可行:

/[0-9]{2}-[0-9]{7}/

[0-9]{2}0 and 9之间的任意数字恰好匹配两次,-将匹配单个连字符,然后[0-9]{7}将匹配任何数字在09之间恰好7次。

您还可以使用问题中的\d数字标识符替换[0-9]

答案 2 :(得分:0)

0\d-\d{7}是正确的。

您可以尝试\b0\d-\d{7}\b以避免匹配" 09-8222333"在" 3209-8222333435"。

\b0\d[- ]\d{7}\b用于带空格而非短划线的数字,例如" 09 8222333"。

使用\b((0\d[- ]\d{7})|(0\d[- ]\d{3}[- ]\d{4}))\b添加对前三个符号之后用ether短划线或空格分隔的数字的支持,例如" 06 455 3535或04 242-3424"。

http://regexr.com/了解有关javascript正则表达式的正则表达式,但对于c#也是如此。 请参阅http://www.tutorialspoint.com/csharp/csharp_regular_expressions.htm上的c#示例。

答案 3 :(得分:0)

此处:https://regex101.com/r/jiSGUV/1

或只是复制正则表达式:/^(?:(?:(\+?972|\(\+?972\)|\+?\(972\))(?:\s|\.|-)?([1-9]\d?))|(0[23489]{1})|(0[57]{1}[0-9]))(?:\s|\.|-)?([^0\D]{1}\d{2}(?:\s|\.|-)?\d{4})$/

答案 4 :(得分:0)

对于android

public static boolean validateTelAndMobileNo(String mobileNo){
    //String test = "00911234567891";
    return  !(!mobileNo.matches("(00972|0|\\+972)[5][0-9]{8}") && !mobileNo.matches("(00970|0|\\+970)[5][0-9]{8}") && !mobileNo.matches("(05[0-9]|0[12346789])([0-9]{7})") && !mobileNo.matches("(00972|0|\\+972|0|)[2][0-9]{7}"));
}

for VB.net

Public Function validateMobileNo(m As String) As boolean
    If String.IsNullOrWhiteSpace(m) Then Return false

    return not (Not Regex.IsMatch(m, "(00972|0|\\+972)[5][0-9]{8}") AndAlso Not Regex.IsMatch(m, "(00970|0|\\+970)[5][0-9]{8}") AndAlso Not Regex.IsMatch(m, "(05[0-9]|0[12346789])([0-9]{7})") AndAlso Not Regex.IsMatch(m, "(00972|0|\\+972|0|)[2][0-9]{7}")) 
End Function

这将验证以色列和巴勒斯坦的手机号码和电话号码 您可以轻松调整以移除巴勒斯坦移动电话和陆地电话