English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

方法验证手机号码(正则验证)

Solo se permite ingresar números

<xsl:attribute name="onkeyup">value=value.replace(/[^\d]//xsl:attribute>
<xsl:attribute name="onbeforepaste">clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))</xsl:attribute>
//El teléfono fijo solo necesita que se llene uno
$('.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; 
    }
  )

Veamos la expresión regular de validación de número de teléfono móvil más reciente

Debido a que el número de segmento de teléfono móvil se actualiza constantemente, la expresión regular anterior ya no satisface las necesidades. Escribir esta expresión de nuevo, la fuente de información del número de segmento es:http://www.jihaoba.com/tools/haoduan/

Número de segmento de teléfono móvil actual:

Movil:139   138   137   136   135   134   147   150   151   152   157   158    159   178  182   183   184   187   188 
Unicom:130   131   132   155   156   185   186   145   176 
Telecomunicaciones:133   153   177   173   180   181   189

Operador de red virtual:

170  171

Después de la organización:

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}$/, "Formato de teléfono incorrecto");

Análisis de expresión:

“/” representa una expresión regular.

“^” representa la posición de inicio de la cadena, “$” representa la posición de final de la cadena.

“?” representa la coincidencia de un carácter anterior uno o cero, por lo que aquí 0? significa que el número de teléfono puede comenzar con 0 o no comenzar con 0.

la parte siguiente para verificar11número de teléfono, primero desde13comienzo, porque desde130-139también tienen, por lo que el rango opcional es [0-9],15número que comienza con154por lo que no hay4este número, por supuesto, también se puede escribir como [0-35-9],debajo de18y14número abierto es el mismo que el anterior.

encerrado en paréntesis representa una subexpresión, dentro de4ramas opcionales se distinguen por "|", en el expresiones regulares "|" tiene la prioridad más baja, aquí cada rama coincide con3caracteres (un [] solo puede coincidir con un carácter, dentro de él es opcional), es decir, el número de teléfono anterior3número, entonces hay8número debe coincidir, puede ser 0-9caracteres arbitrarios, por lo que es "[0-9]{8}”,los números en {} representan la cantidad de caracteres que coinciden con los caracteres anteriores.

Análisis completado.

Si hay un dragón en la parte superior86,17951¿qué hay de

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

Versión en 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}$);
    }

Los métodos de verificación de número de teléfono que les presento el editor (verificación con expresiones regulares) espero que les sea útil. Si tienen alguna pregunta, déjenme un mensaje y el editor les responderá a tiempo. También agradezco mucho el apoyo a la página web de tutorial de grito en este momento!