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/
قطع الهواتف النقالة الحالية:
النقال: 139 138 137 136 135 134 147 150 151 152 157 158 159 178 182 183 184 187 188
الاتصالات: 130 131 132 155 156 185 186 145 176
هاتف النقال: 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 أحرف (يمكن للقوس المربوع أن يمثل حرفًا واحدًا فقط، وهو معني بالاختيار)، مما يعني أن هذه الأرقام هي الأرقام الثلاثة الأولى للرقم الهاتفي، ويجب مطابقة 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}$"); {}
ما تم ذكره أعلاه هو طريقة التحقق من رقم الهاتف التي قدمها ليكم المحرر، نأمل أن يكون مفيدًا لكم. إذا كان لديكم أي استفسارات، فلا تترددوا في ترك تعليق، وسأقوم بالرد على الفور. وأود أيضًا أن أعبر عن شكري للدعم الذي تقدمونه لموقع呐喊 لتعليم البرمجة!