簡體   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