[英]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}
将精确匹配0
到9
之间的任何数字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.