携帯電話番号の検証方法(正則検証)
数字だけ入力できます。
携帯番号の更新が続いているため、従来の正規表現は需要を満たすことができなくなりました。この表式を再作成しました。番号データソース:http://www.jihaoba.com/tools/haoduan/
携帯番号のセグメントがあります
移動: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
「/」は正規表現を表します。
「^」は文字列の開始位置を表し、「$」は文字列の終了位置を表します。
「?」前の文字にマッチする1つまたは0つを表しています。ここで0ですか?電話番号は0で始まるか、0で始まるかという意味です。
次の部分は11桁の携帯番号を検証します。まず13から始まります。130から139まであるので、選択区間は「0-9」です。15から始まる番号は154ないので、中には4という数字がありません。もちろん、「0-35-9」とも書くことができます。下の18と14の番号は同じです。
括弧で囲まれた代表的なサブ表現では、4つのオプションの分岐がそれぞれ「|」で区別されています。正則では「|」の優先度が一番低いです。ここでは、各分岐が一致するのは3つの文字(一つの[]は1つの文字にしかマッチしないので、中はオプションの意思)です。つまり携帯電話番号の上位3桁の数字です。後には8桁の数字がマッチします。0-9の任意の文字でも良いので、「0-9」{8}、{}の数字は前の文字にマッチする個数を表します。
分析済みです。
もしプリクラが前に86,17951と書いたらどうですか?
<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.jihaoba.com/tools/haoduan/
携帯番号のセグメントがあります
移動: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で始まるか、0で始まるかという意味です。
次の部分は11桁の携帯番号を検証します。まず13から始まります。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}$");
}
以上は小编が皆さんに绍介した携帯番号の検证方法(正则の検证)です。皆さんに助けてほしいです。もし何か疑问があれば、メッセージをください。小编はすぐに皆さんに返事します。ここでも私たちのサイトを応援してくれてありがとうございます。