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

Метод проверки номера телефона (регулярное выражение)

Разрешается вводить только цифры

<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/

Существующие сегменты телефонных номеров:

Mobile: 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

Виртуальные операторы:

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}$/, "Неправильный формат телефона");

Анализ выражения:

“/” означает регулярное выражение.

“^” означает начальную позицию строки, “$” означает конечную позицию строки.

“?” означает соответствие предыдущему символу один или ноль раз, поэтому 0? означает, что номер телефона может начинаться с 0 или не начинаться с 0.

Следующая часть проверяет 11-значный номер телефона, сначала с 13, так как с 130 до 139 все возможно, поэтому вариативный интервал [0-9], номера, начинающиеся с 15, не имеют 154, поэтому в [] нет цифры 4,当然, также можно написать [0-35-9], как и в случае с номерами, начинающимися с 18 и 14.

Квадратные скобки вокруг представляют собой подвыражение, внутри которого 4 вариативных分支, разделенных символом “|”, в регулярных выражениях “|” имеет наименьшую приоритетность, каждый из которых соответствует 3 символам (одна [] может соответствовать только одному символу, внутри это означает возможность), то есть первые 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}$");
    {}

Ниже приведены методы проверки的手机号码, которые я介绍了给大家(регулярное выражение), надеюсь, они помогут вам. Если у вас есть какие-либо вопросы, пожалуйста, оставьте комментарий, я отвечу вам своевременно. Вновь хочу выразить признательность всем, кто поддерживает сайт呐喊 учебника!

Вам может понравиться