[英]12 digit Regex for Phone number
我試圖獲取一個正則表達式,用於正好為12位數字的電話號碼,格式為:+ ############。
我嘗試使用的代碼是([+]?)\\d{12}(\\d{2})?$
但是沒有運氣。
請幫忙
此模式將與加號后的12位數字完全匹配:
/^\+\d{12}$/
您尾隨的可選內容(/d{2})?
組件在您的模式中做什么?
這是沒有regex的相同功能:
$phone='+012345678912';
if($phone[0]=='+' && strlen($phone)==13 && is_numeric(substr($phone,1))){
echo 'valid';
}else{
echo 'invalid';
}
// displays: valid
我們是否需要捕獲某些數字/序列,或者您只是使用該格式驗證其數字?
每當我不確定regex時,都會使用此在線工具regex101 。 它會在右側准確顯示您正在捕獲/檢查的內容,這非常有用。 根據您的用例,我看不到此正則表達式如何工作,請提供示例。 除此以外:
您只捕獲了前12個字母后的+號和2位數字。
建議您使用\\+(\\d{12})
並避免使用不需要的錨點和捕獲組。
^(\+)(\d{3}\s?){4}(\d{2})?$
\\s
是空格字符,而?
表示可選
https://regex101.com/r/nX5XnH/3 (演示)
+012 345 678 912 (ok)
+012345 678 912 (ok)
+012 345678912 (ok)
+01234567891244 (ok)
012345678913 (no mach - missing plus sign)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.