2012-10-24 14 views
5

私のコードは次のとおりです。

<?php 
    $phone = 18311111111; 
    if(ereg("^\d{11}$",$phone)){ 
     echo "true"; 
    } else { 
     echo "false"; 
    } 
?> 

私は偽のですか?どうして?

+4

警告: 'ereg'はPHP 5.3.0以降では廃止されました。この機能に依存することはお勧めできません。 – OmnipotentEntity

答えて

4

ereg\dをサポートしていないため、代わりに[0-9]を使用する必要があります。

そしてeregは、あなたが\dを使用することができ、代わりにpreg_matchを使用し、を推奨されていません。何が価値がある、あなたは、このような簡単なテストのためにereg(非推奨)もpreg_matchを使用してはならないために

if(preg_match("/^\d{11}$/",$phone)){ 
    echo "true"; 
} else { 
    echo "false"; 
} 
+0

Woops、typo:derepcated =>非推奨 –

+0

@AlexLunixありがとう、固定:) – xdazz

0

ctype_digit()

if (ctype_digit($phone)) { 
    // $phone consists of only digits 
} else { 
    // non-digit characters were found in $phone 
} 
関連する問題