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