[英]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.