2017-04-09 71 views
0

我有一個問題與註冊表,我想要做的9位數字移動驗證。PHP電話驗證

代碼:

$tel = $_POST['tel']; 
$sdt_length = strlen($tel); 
$sdt_check = substr($tel, 0, 2); 
elseif (!preg_match("/^[0-9]*$/i", $tel)) 
elseif (($sdt_check == '09' && $sdt_length == 10) || ($sdt_check == '01' && $sdt_length == 11)) { 
+0

和最新你的問題? – Philipp

+0

註冊表有什麼問題? –

+0

發佈這些問題的努力是驚人的。 – TurtleTread

回答

0

電話格式可以從區域大大不同而不同的區域。 我會假設您完全知道您正在處理的電話格式,並且不會使用任何類型的符號進行發佈。

你需要一個9位數的字符串或取決於前兩個數字的10位或11位數的字串:0901,使用此:

^(?:09\d{8}|01\d{9}|\d{9})$ 

Demo

上面的圖案將檢查只有數字的字符串和基於前兩位的長度。

PHP實現:

if(isset($_POST['tel']) && preg_match("/^(?:09\d{8}|01\d{9}|\d{9})$/",$_POST['tel'])){ 
    $tel=$_POST['tel']; 
}else{ 
    echo "Missing or Invalid Telephone Number"; 
}