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

Método de validação de número de telefone (verificação regular)

Texto principal

Apenas números são permitidos/[^\d]/<xsl:attribute name="onkeyup">value=value.replace(/xsl:attribute>
<xsl:attribute name="onbeforepaste">clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))</xsl:attribute>
//O telefone fixo só precisa de ser preenchido um.
$('.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; 
    }
  })

Vamos ver a expressão regular de verificação do número de telefone mais recente a seguir

Devido à atualização contínua dos números de telefone, as expressões regulares anteriores já não atendem às necessidades. Redigir esta expressão novamente, a fonte de dados do número de telefone é baseada em:http://www.jihaoba.com/tools/haoduan/

Números de telefone existentes:

Mobil: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 
Telecom:133   153   177   173   180   181   189

Operadora virtual:

170  171

Organizado:

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 telefone incorreto");

Análise da expressão:

“/” representa uma expressão regular.

“^” representa o início da string, “$” representa o fim da string.

“? representa a correspondência de um caractere anterior uma ou zero vezes, então aqui 0? significa que o número de telefone pode começar com 0 ou não começar com 0.

o que vem a seguir11número de telefone, primeiro verifique13começando, porque a partir do130-139há, então o intervalo opcional é [0-9]15número começando com154então não há4este número, claro, também pode ser escrito como [0-35-9]18e14número começando com o mesmo caractere.

expressão dentro dos parênteses é uma subexpressão, dentro de4ramificações opcionais são distinguidas por "|", na expressão regular, "|" tem a menor prioridade, aqui cada ramificação corresponde a3caracteres (um [] pode correspondente a um caractere, dentro é opcional), que é o número de telefone do início3número, então há ainda8número precisa ser correspondido, pode ser 0-9qualquer caractere, então é "[0-9]{8}

Análise concluída.

se houver um grande fantasma antes de escrever86,17951qualquer coisa?

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

Versão 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}$);
    }

Os métodos de verificação de número de telefone que o editor apresentou a você são métodos de verificação de expressão regular (verificação de expressão regular), esperando que ajudem a todos. Se todos tiverem alguma dúvida, por favor, deixem um comentário, o editor responderá a todos a tempo. Agradecemos também o apoio da comunidade ao site Tutorial de Grito!

Você também pode gostar