0

重複の可能性:
電話番号検証のための包括的な正規表現

私は電話番号のいくつかの正規表現パターンをまとめようとしていますが、私の正規表現の経験は事実上ゼロです。

まず、ここで私は自宅の電話番号を探しています

^0[12]\d{8,9}$

うまく機能しますが、私がやりたいのは空白(最大2)を許可することです。

そこに正規表現の達人はいますか?

4

2 に答える 2

1

非数字を削除するだけで電話番号を検証することをお勧めします。SMSで確認コードを送信して確認しますtwilioを使用して加入者の電話番号を検証します。その番号にコード番号を送信し、ユーザーはそれを入力して確認する必要があります。それが検証プロセスです。データベースに挿入する前に、次のコードを使用します。

$dnum = preg_replace('/\D+/','', $num);
if(preg_match('/^[\d()\s-]+$/', $num) 
    && in_array(strlen($dnum), array(7,10,11,13)){
// valid phone number
}else{
// invalid phone number
}

このコードが行うことは、

  1. 数字以外のすべての文字を取り除きます
  2. 使用できる文字を確認してください。()-数字以外の文字としてのみ許可されます。
  3. 剥がした後、長さを確認してください。7 または 10 または 11 または 13 のいずれかである必要があります。
于 2012-12-03T17:05:53.423 に答える
0

残りの文字列が数字と空白文字のみで構成されている PHP の例 (米国向け)

$output = preg_replace('/[^\d\s]/', '', $str);
于 2012-12-03T17:05:38.120 に答える