Cette fois je vous apporte une explication détaillée de la vérification régulière des numéros de téléphone portable (avec code). Quelles sont les précautions pour la vérification régulière des numéros de téléphone portable Voici un cas pratique, prenons. un regard.
Seuls les numéros sont autorisés
<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; } })
Regardez ci-dessous pour la dernière vérification du numéro de téléphone portable Expression régulière
En raison de la mise à jour continue des segments de numéros de téléphone mobile, les expressions régulières précédentes ne peuvent plus répondre aux besoins. Réécrivez cette expression, la source de données du segment de numéro est basée sur : http://www.jihaoba.com/tools/haoduan/
Segment de numéro de téléphone mobile existant :
Mobile : 139 138 137 136 135 134 147 150 151 152 157 158 159 178 182 183 184 187 188
China Unicom : 130 131 132 155 156 185 186 145 76
Télécom : 133 153 177 173 180 181 189
Opérateur virtuel :
170 171
Après tri :
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}$/, "电话格式不对");
Analyse d'expression :
"/" Représente une expression régulière.
« ^ » représente la position de départ de la chaîne , et « $ » représente la position de fin de la chaîne.
«?» signifie faire correspondre le caractère précédent à un ou à zéro, donc ici 0 signifie que le numéro de téléphone portable peut commencer par 0 ou non.
La partie suivante vérifie le numéro de téléphone portable à 11 chiffres, en commençant par 13, car il va de 130 à 139, donc la plage facultative est [0-9], le numéro commençant par 15 n'a pas 154. , donc il n'y a pas de 154 dans [] Sans le chiffre 4, bien sûr, il peut aussi s'écrire [0-35-9]. Les nombres 18 et 14 suivants sont les mêmes que ci-dessus.
Les parenthèses ci-jointes représentent une sous-expression, qui contient 4 branches facultatives séparées par "|". Dans l'expression régulière, la priorité de "|" est la plus basse, chaque branche correspond ici à 3. caractères (un [] ne peut correspondre qu'à un seul caractère, ce qui signifie facultatif), c'est-à-dire les 3 premiers chiffres du numéro de téléphone portable, puis il y a 8 chiffres nécessaires. La correspondance peut être n'importe quel caractère de 0 à 9, donc c'est le cas. "[0-9]{8}". Le nombre entre {} représente le nombre de caractères précédents correspondants.
Analyse terminée.
Et si un fantôme à grosse tête écrivait quelque chose comme 86,17951 sur le devant ?
/^(0|86|17951)?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$/
Version 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}$"); }
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention. vers d'autres articles connexes sur le site Web php chinois !
Lecture recommandée :
Utilisation d'expressions régulières dans Comment trouver des lettres et des chiffres en js
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!