正则验证手机号的详解(附代码)
这次给大家带来正则验证手机号的详解(附代码),正则验证手机号的注意事项有哪些,下面就是实战案例,一起来看一下。
只允许输入数字
<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个字符(一个[]只能匹配一个字符,里面是可选的意思),也就是手机号码的前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}$"); }
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
以上是正则验证手机号的详解(附代码)的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

7月29日消息,除1799元的OPPOA3活力版手机之外,OPPO还推出了一款A3x(PKD130),提供星光白、暗夜紫、云羽粉三种配色。根据@完美编排数码的说法,OPPOA3x似乎是一款定位线下的机型,跟活力版区别主要在于后置镜头换为32+2MP双摄。汇总定价如下:4+128GB版本1199元6+128GB版本1499元8+256GB版本1999元1.搭载联发科天玑6300处理器配备LPDDR4X内存和UFS2.2闪存支持2TB存储拓展采用6.67英寸“阳光屏”,拥有1600×720分辨率、1

8月17日消息,消息源@i冰宇宙今天发布微博,表示苹果iPhone16ProMax精确尺寸6.88英寸,GalaxyS25Ultra精确尺寸6.86英寸,两者都可视为6.9英寸。消息源表示三星GalaxyS25Ultra比S24Ultra更窄的机身,还有更宽的屏幕,横向屏占比94.1%,而S24Ultra横向屏占比是91.5%。fenye查询该消息源相关微博,他还评论了最新曝光的iPhone16ProMax照片,认为接近微曲是错误的,该机然是直屏+2.5D玻璃。

虽然最近几年的苹果一直被诟病创新不足,但是苹果也并不总是止步不前。至少在硬件设计上,在苹果产品的高单价支持下,它的工程师可以轻松尝试一些全新的技术,而不需要过多的考虑成本问题。比如iPadPro,作为苹果最喜欢的“显示技术”试验田,iPadPro从2021年的miniLED到2024年的串联OLED,一直走在便携智能设备的显示技术前沿。虽然iPadPro并非首个搭载miniLED屏幕的便携智能设备(微星较苹果早一年发布miniLED笔记本电脑),但是当你对比两者的参数,你会很快意识到他们不是一个

8月9日消息,在FMS2024峰会上,SK海力士展示了其最新的存储产品,包括尚未正式发布规范的UFS4.1通用闪存。据JEDEC固态技术协会官网信息,目前公布的最新UFS规范是2022年8月的UFS4.0,其理论接口速度高达46.4Gbps,预计UFS4.1将在传输速率上实现进一步的提升。1.海力士展示了512GB和1TBUFS4.1通用闪存产品,基于321层V91TbTLCNAND闪存。SK海力士还展出了3.2GbpsV92TbQLC和3.6GbpsV9H1TbTLC颗粒。海力士展示了基于V7

7月30日消息,消息源YogeshBrar昨日(7月29日)在X平台发布推文,分享了小米POCOM6Plus5G手机以及POCOBudsX1耳机的实物照片,两款产品官宣将于8月1日发布。小米POCOM6Plus5G手机消息源表示,小米POCOM6Plus5G手机将配6.8英寸LCD屏幕,搭载高通骁龙4Gen2AE处理器,背面配1.08亿像素摄像头,5030mAh容量电池。此前报道,这款手机可选紫色、黑色、银色三种配色,整体与标准版POCOM6手机大致相同,但LED闪光灯环相对更加突出。POCOB

8月19日消息,努比亚自Z50Ultra发布以来,一直秉承着真全面屏的设计,并且一直在高像素屏下前摄领域不断探索。今日,据数码博主智慧皮卡丘爆料称,今年下半年即将发布的努比亚Z70Ultra将首发1.5K屏下摄像技术,是迄今为止行业内分辨率最高的UDC方案。据悉,目前中兴旗下的屏下前摄方案已推进到第六代。最新的屏下前摄方案在努比亚Z60Ultra、红魔9SPro系列中皆有所应有。屏幕分辨率为2480x1116,介于1080P和1.5K分辨率之间。这一次努比亚将通过突破现有分辨率的限制,将在行业内

7月31日消息,消息源@i冰宇宙昨日(7月30日)在X平台发布推文,只写道“16GByes!”,但从上下推文来判断,应该是指三星GalaxyS25Ultra手机将会配备16GB的内存。三星手机内存容量更新三星曾在GalaxyS20Ultra和GalaxyS21Ultra手机上推出过16GB内存。从GalaxyS22Ultra开始,包括最新旗舰GalaxyS24Ultra手机,三星手机的内存容量上限均为12GB。有消息称,即将推出的三星GalaxyS25和GalaxyS25+将采用12GBLPDD

根据Smartprix的爆料称,小米正在研发一台代号为「朱雀」的无按键手机。这份爆料称,这台代号朱雀的手机将秉承一体化的理念设计,使用屏下摄像头,并搭载高通骁龙8gen4处理器,如果计划没有变动,我们很可能在2025年看到它的到来。看到这个消息,我恍惚间以为自己回到了2019年——那时候小米发布了小米MIXAlpha概念机,环绕屏无按键设计相当惊艳。这是我第一次见识到无按键手机的魅力。想要一块「魔力玻璃」,就要先把按键干掉在《乔布斯传》中,乔布斯曾经表达过:希望手机能够像一块「充满魔力的玻璃」,
