繁体   English   中英

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

[英]How to validate Israeli phone number?

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

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

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

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

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

\b0\d[- ]\d{7}\b用于带有空格而不是破折号的数字,例如“09 8222333”。

使用\b((0\d[- ]\d{7})|(0\d[- ]\d{3}[- ]\d{4}))\b添加对在 first 之后分隔的数字的支持三个带有虚线或空格的符号,如“06 455 3535 或 04 242-3424”。

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

这里: 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})$/

像这样的东西应该可以工作:

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

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

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

对于安卓

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

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

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

 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 的博客文章,您可以在此处阅读

这是一个带有以下以色列前缀的以色列电话号码正则表达式:02-09 {7}、05 {8}、07 {8}:

^0?(([23489]{1}[0-9]{7})|[57]{1}[0-9]{8})+$

(此正则表达式仅在以色列地区匹配,对于以色列地区以外的地区,您应该将正则表达式开头的 0 数字替换为 972 数字)

这涵盖所有电话号码,包括固定电话和 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})$

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM