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

cbjzeqam  于 2023-01-10  发布在  其他
关注(0)|答案(8)|浏览(153)

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

t1rydlwq

t1rydlwq1#

我猜0在mandetory的开头,所以你可以使用下面的正则表达式:在regex101中检查0\d-\d{7}
\d表示[0-9],{num}表示精确重复num

ca1c2owp

ca1c2owp2#

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添加对在前三个符号后用破折号或空格分隔的数字的支持,如“06 455 3535 or 04 242-3424”。
http://regexr.com/学习正则表达式,它是关于javascript正则表达式的,但也适用于c#,参见http://www.tutorialspoint.com/csharp/csharp_regular_expressions.htm的c#示例。

smdncfj3

smdncfj33#

此处为:https://regex101.com/r/jiSGUV/1
或者直接复制正则表达式:第一个月

cunj1qz1

cunj1qz14#

类似这样的方法应该可以奏效:

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

[0-9]{2}将匹配0and 9之间的任意数字两次,-将匹配单个连字符,然后[0-9]{7}将匹配09之间的任意数字7次。
您还可以使用问题中的\d数字标识符来替换[0-9]

zpjtge22

zpjtge225#

适用于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}"));
}

查看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

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

iyfjxgzm

iyfjxgzm6#

您可以使用以下正则表达式

cellular israeli regex
/^05\d([-]{0,1})\d{7}$/

all numbers israel
/^0\d([\d]{0,1})([-]{0,1})\d{7}$/

Update one Regex for all Isrealy numbers

^\+?(972|0)(\-)?0?(([23489]{1}\d{7})|[5]{1}\d{8})$

答案基于Wassem的博客文章,您可以阅读here

vsdwdz23

vsdwdz237#

以下是一个以色列电话号码正则表达式,带有以下以色列前缀:02-09 {7}、05 {8}、07 {8}:
第一个月
(This regex仅在以色列地区匹配,对于以色列以外的地区,您应将regex开头的0数字替换为972数字)

svmlkihl

svmlkihl8#

这包括所有电话号码,包括固定电话和071,072,073,074,075,076,077前缀:

^\+?(972|0)(\-)?0?(([23489]{1}\d{7})|([71,72,73,74,75,76,77]{2}\d{7})|[5]{1}\d{8})$

相关问题