在現代社會中,電話號碼已經成為人們生活中不可或缺的一部分。無論是作為聯系人還是作為身份證明,電話號碼都起到了重要的作用。因此,在開發網站或手機應用程序時,我們需要使用javascript 正則表達式來驗證用戶輸入的電話號碼是否正確。
在javascript中,我們可以使用正則表達式來匹配電話號碼。以下是一些常見的電話號碼保留格式:
1. 010-12345678 2. 021-8888888 3. 025-1234567 4. 0755-26944153 5. 0571-87171798 6. 01099081000 7. 4000-100-100 8. 18888888888
對于這些電話號碼,我們需要編寫對應的正則表達式來進行驗證。下面是一個匹配電話號碼的正則表達式示例:
function isPhoneNumber(str){ var reg = /^0\d{2,3}-?\d{7,8}$|^400-?\d{3,4}-?\d{3,4}$|^1[358]\d{9}$|^1[4,7]\d{8}$|^1[60,70,80,90]\d{8}$/; return reg.test(str); }
這個正則表達式是由幾個部分組成的:以開頭的"^"表示匹配字符串的開始,"$"表示字符串的結尾。中間的"|"(或)表示多個正則表達式可以匹配電話號碼。下面對每個表達式進行詳細說明:
^0\d{2,3}-?\d{7,8}$:匹配固定電話號碼,第一位為0,接下來2-3位為區號,之后可以帶"-"或不帶,然后為7-8位號碼。 ^400-?\d{3,4}-?\d{3,4}$:匹配400電話號碼,以400開頭,后面可能有"-",然后為3-4位號碼,最后也可能帶"-",然后接下來3-4位號碼,一共為10-12位號碼。 ^1[358]\d{9}$:匹配移動、聯通和電信的手機號碼,以1為開頭,第二位為3、5、8,后面為9個數字。 ^1[4,7]\d{8}$:匹配衛星電話號碼,以1為開頭,第二位為4或7,后面為8位數字。 ^1[60,70,80,90]\d{8}$:匹配虛擬運營商的手機號碼,以1為開頭,第二位為6、7、8、9,后面為8位數字。
接下來,我們可以使用上述函數來驗證一個電話號碼:
if (isPhoneNumber('021-8888888')){ console.log('電話號碼正確'); }else{ console.log('電話號碼錯誤'); }
上面的代碼會輸出"電話號碼正確",因為傳入的電話號碼符合正則表達式的規則。如果傳入的電話號碼不符合規則,則會輸出"電話號碼錯誤"。
在編寫正則表達式時,我們需要牢記一些常見的規則:
- 使用^和$符號來表示字符串的開始和結尾。
- 使用"|"符號來表示多個表達式可以匹配一個字符串。
- 使用"\d"來匹配數字。
- 使用"[]"來表示一個字符集,如[0-9]表示匹配0-9之間的數字。
- 使用"{n,m}"表示重復n到m次,"{n,}"表示重復n次或更多次,"{,m}"表示重復0到m次。
在javascript中,使用正則表達式可以方便快捷地驗證輸入的電話號碼是否正確。我們只需要使用上述的函數和正則表達式,就能夠輕松地驗證電話號碼。這使得我們的網站或應用程序更加健壯和安全,受到更多用戶的信任。