ホームページ >ウェブフロントエンド >jsチュートリアル >携帯電話番号の定期認証(コード付き)について詳しく解説

携帯電話番号の定期認証(コード付き)について詳しく解説

php中世界最好的语言
php中世界最好的语言オリジナル
2018-03-29 17:54:231971ブラウズ

今回は、携帯電話番号の定期認証についての詳しい説明(コード付き)をお届けします。携帯電話番号の定期認証の注意事項は何ですか?実際のケースを見てみましょう。

数字のみが許可されています

<xsl:attribute name="onkeyup">value=value.replace(/[^\d]/g,'')</xsl:attribute>
<xsl:attribute name="onbeforepaste">clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))</xsl:attribute>
//固定电话只要有一个填写即可
$('.form-inline').submit(function(){
    var m = $('input[name=mobile]').val();
    var p = $('input[name=phone]').val();
    var reg = /^1\d{10}$/;
    if((m == "" || !reg.test(m)) && p == ""){
      $('input[name=mobile]').addClass('error_color');
      $('input[name=mobile]').tooltip('show');
      return false;
    }else{
      $('input[name=mobile]').removeClass('error_color');
      $('input[name=mobile]').tooltip('hide');
      return true; 
    }
  })

最新の携帯電話番号認証を見てみましょう正規表現

携帯電話番号セグメントは継続的に更新されているため、以前の正規表現はもはやニーズを満たしていません。この式を書き換えます。番号セグメントのデータ ソースは http://www.jihaaba.com/tools/haoduan/

既存の携帯電話番号セグメント:

Mobile: 139 138 137 136 135 134 147 150 151 152 157 158 159 178 182 183 184 187 188
チャイナユニコム: 130 131 132 155 156 185 186 145 176
電気通信: 133 153 177 173 180 181 189

仮想オペレーター:

170 171

並べ替え後:

130~139 145,147 15[012356789] 178,176,177,173,170,171 180~189

var regex = {
  mobile: /^0?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$/
}

js:

var bool = checkRegexp(jq("#mobile"), /^0?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$/, "电话格式不对");

式解析:

「/」は正規表現を表します。

「^」は文字列の開始位置を表し、「$」は文字列の終了位置を表します。

「?」は前の文字に 1 または 0 を一致させることを意味するため、ここでの 0? は携帯電話番号が 0 で始まるかどうかを意味します。

次の部分は、13 から始まる 11 桁の携帯電話番号を確認することです。番号の範囲は 130 ~ 139 であるため、オプションの範囲は [0 ~ 9] であり、15 で始まる番号には 154 はありません。 [] には数字の 4 がありませんが、[0-35-9] と書くこともできます。次の数字 18 と 14 も上記と同じです。

括弧は部分式を表しており、「|」で区切られた 4 つのオプションの分岐が含まれています。正規表現では、「|」の優先度 が最も低く、ここで一致する各分岐はすべて 3 文字 ([]) です。 1 つの文字 (オプションを意味します) のみと一致します。つまり、携帯電話番号の最初の 3 桁の場合、一致する必要がある 8 桁の数字は 0 ~ 9 の任意の文字であるため、「[0」となります。 -9]{8}"。{} 内の数字は、一致する前の文字の数を表します。

分析が完了しました。

頭の大きな幽霊が表面に 86,17951 のようなことを書いたらどうしますか?

/^(0|86|17951)?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$/

C# バージョン:

using System.Text.RegularExpressions;
    public static bool IsTelephone(string str_telephone)
    {
      return Regex.IsMatch(str_telephone, @"^(0|86|17951)?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$");
    }

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨書籍:

正規表現を使用して文字列を抽出する詳細な説明 (コード付き)

正規表現を使用して js 内の文字と数字を検索する方法

以上が携帯電話番号の定期認証(コード付き)について詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。