.net常用正则表达式实现收藏
电话号码正则表达式
(支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号)
((d{11})|^((d{7,8})|(d{4}|d{3})-(d{7,8})|(d{4}|d{3})-(d{7,8})-(d{4}|d{3}|d{2}|d{1})|(d{7,8})-(d{4}|d{3}|d{2}|d{1}))$)
匹配格式:
11位手机号码
3-4位区号,7-8位直播号码,1-4位分机号
如:12345678901、1234-12345678-1234
匹配中文字符的正则表达式: [u4e00-u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了
匹配双字节字符(包括汉字在内):[^x00-xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)匹配空白行的正则表达式:ns*r
评注:可以用来删除空白行匹配HTML标记的正则表达式:<(S*?)[^>]*>.*?</1>|<.*? />
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力匹配首尾空白字符的正则表达式:^s*|s*$
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
评注:表单验证时很实用匹配网址URL的正则表达式:[a-zA-z]+://[^s]*
评注:网上流传的版本功能很有限,上面这个基本可以满足需求匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
评注:表单验证时很实用匹配国内电话号码:d{3}-d{8}|d{4}-d{7}
评注:匹配形式如 0511-4405222 或 021-87888822匹配腾讯QQ号:[1-9][0-9]{4,}
评注:腾讯QQ号从10000开始匹配中国邮政编码:[1-9]d{5}(?!d)
评注:中国邮政编码为6位数字匹配身份证:d{15}|d{18}
评注:中国的身份证为15位或18位匹配ip地址:d+.d+.d+.d+
评注:提取ip地址时有用匹配特定数字:
^[1-9]d*$ //匹配正整数
^-[1-9]d*$ //匹配负整数
^-?[1-9]d*$ //匹配整数
^[1-9]d*|0$ //匹配非负整数(正整数 + 0)
^-[1-9]d*|0$ //匹配非正整数(负整数 + 0)
^[1-9]d*.d*|0.d*[1-9]d*$ //匹配正浮点数
^-([1-9]d*.d*|0.d*[1-9]d*)$ //匹配负浮点数
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$ //匹配浮点数
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$ //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$ //匹配非正浮点数(负浮点数 + 0)
评注:处理大量数据时有用,具体应用时注意修正
匹配特定字符串:
^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
^w+$ //匹配由数字、26个英文字母或者下划线组成的字符串
"^d+$" //非负整数(正整数 + 0)
"^[0-9]*[1-9][0-9]*$" //正整数
"^((-d+)|(0+))$" //非正整数(负整数 + 0)
"^-[0-9]*[1-9][0-9]*$" //负整数
"^-?d+$" //整数
"^d+(.d+)?$" //非负浮点数(正浮点数 + 0)
"^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数
"^((-d+(.d+)?)|(0+(.0+)?))$" //非正浮点数(负浮点数 + 0)
"^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点
数
"^(-?d+)(.d+)?$" //浮点数
"^[A-Za-z]+$" //由26个英文字母组成的字符串
"^[A-Z]+$" //由26个英文字母的大写组成的字符串
"^[a-z]+$" //由26个英文字母的小写组成的字符串
"^[A-Za-z0-9]+$" //由数字和26个英文字母组成的字符串
"^w+$" //由数字、26个英文字母或者下划线组成的字符串
"^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$" //email地址
"^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$" //url
/^13d{9}$/gi手机号正则表达式
public static bool IsValidMobileNo(string MobileNo)
{
const string regPattern = @"^(130|131|132|133|134|135|136|137|138|139)d{8}$";
return Regex.IsMatch(MobileNo, regPattern);
}
正则表达式--验证手机号码:13[0-9]{9}
实现手机号前带86或是+86的情况:^((+86)|(86))?(13)d{9}$
电话号码与手机号码同时验证:(^(d{3,4}-)?d{7,8})$|(13[0-9]{9})
提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(w||/|.)+('|"| *|>)?
提取信息中的邮件地址:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
提取信息中的图片链接:(s|S)(r|R)(c|C) *= *('|")?(w||/|.)+('|"| *|>)?
提取信息中的IP地址:(d+).(d+).(d+).(d+)
提取信息中的中国手机号码:(86)*0*13d{9}
提取信息中的中国固定电话号码:((d{3,4})|d{3,4}-|s)?d{8}
提取信息中的中国电话号码(包括移动和固定电话):((d{3,4})|d{3,4}-|s)?d{7,14}
提取信息中的中国邮政编码:[1-9]{1}(d+){5}
提取信息中的中国身份证号码:d{18}|d{15}
提取信息中的整数:d+
提取信息中的浮点数(即小数):(-?d*).?d+
提取信息中的任何数字:(-?d*)(.d+)?
提取信息中的中文字符串:[u4e00-u9fa5]*
提取信息中的双字节字符串 (汉字):[^x00-xff]*
手机号为什么以13开头2008-02-16 22:06大家都知道以前电信移动邮政还没有分家阿,邮电资源是邮电部(现信息产业部)统一调度的。在分配号段的时候,做了一些细致的规划,大体是这样:
10开头,电信服务号码,如103国际半自动挂号,108国际对方付费电话,10000中国电信服务中心,10010中国联通服务中心,10050中国铁通服务中心,10060中国网通服务中心,10070中国卫通服务中心,10086中国移动服务中心等等
11开头,赋予特种服务号码,如110匪警,111电信内部测试,112报修,113、115国内人工长途挂号,114查号台,116国内人工长途查询,117报时,119火警等
12开头,赋予民用特殊号码,如120(医院),121(天气预报),122交通事故告警,12312保护知识产权举报中心,12315消费投诉热线,12319城建服务,12348法律咨询,12358价格举报中心,12365质量监督,12366纳税服务,12369环境保护投诉,126、 127、128、129寻呼台(BP机时代)
所以分配到手机用户时,以13开始做号段。后来分配130~133为联通,134~139为移动,13800138000中国移动充值。
日前新推出号段:以153开始做号段分给联通,以158、159开始做号段分给了移动。
以188开始做号段为TD-SCDMA制式的3G手机,将陆续有预先挑选出来的测试用户使用以“188”为开头的手机号码,在包括北京、青岛、厦门、保定等在内的几大城市中率先试用TD-SCDMA网络。
(查看日志《用号码以“188”开头的TD-SCDMA制式手机 体验读邮件、看手机电视等3G业务》)
其他的特殊号段号码有:
16,声讯类,如160中国电信工人信息服务接入码,166语音信箱业务,167吉通计算机互联网业务接入码,168声讯服务,中国电信公众多媒体网接入码等
17,长途电话服务,如170国内长途全自动话费查询台,173国内立接制长途半自动挂号台,176国内长途半自动查询台,177国内长途半自动班长台,179IP语音服务接入码等
18,部分服务台,如180邮政服务,184邮政编码查询接入码,185国家邮政局电话信息服务接入码,186移动服务中心,188固定电话交费台,189中国电信业务受理特服台等(大多已停用,或换新号)
19,寻呼接入,191联通无线电人工寻呼接入码,192联通无线电自动寻呼接入码等等
20,30,电话卡服务
另外,8、9开头的号段部分也作电信及民用服务号码
95,金融及民用服务号码,95501深圳发展银行,95502永安财产保险,95505天安保险,95508广州发展银行,95511中国平安人寿,95512中国平安产险,95515合众人寿,95516中国银联,95518中国人民保险,95519中国人寿保险,95522泰康人寿,95528浦东发展银行,95533中国建设银行,95555招商银行,95556中信银行,95559交通银行,95561兴业银行,95566中国银行,95567中国新华人寿,95568中国民生银行,95569安邦财产保险,95577华夏银行,95585中国联合财保,95588中国工商银行,95590中国大地财产保险,95595光大银行,95596民生人寿保险,95599中国农业银行,95598供电服务,96100民政服务,96118旅游投诉,96178廉政投诉,96198农业信用联社,96310城管执法,95105366中铁快运,95105768海康人寿
400,企业主被叫分摊付费电话业务,是一项由固网运营商推出的为被叫客户提供一个全国范围内的唯一400号码,并把对该号码的呼叫接至被叫客户事先规定目的地(电话号码或呼叫中心)的全国性智能网业务。企业申请了400业务,无疑将有效提高企业的市场形象,但是如果背后没有呼叫中心作为支撑,400也就只是一个将来电转移的号码,其价值也大大降低。如:4006789000宅急送4008108000 DHL快递4008111111顺丰速运4008208388 UPS快递4008861888联邦快递4008888400上海证券交易所
800,为受话人集中付费业务,它的主要特征是由被叫方(企业)集中支付话费,而主叫方(客户)不支付任何费用。800电话的使用充分体现了企业“客户至上”的先进理念,它在国外的使用已是十分普遍。
以上号码均作分配,内容太多未详细列出,部分号码目前已经升级,如电信服务台,天气预报,邮政服务台等等
010123444444
01,02开头的是3个开头,其余的是4个开头
01x 北京
02x 广州,上海,天津,重庆,沈阳,南京,,武汉,成都
03xx 河北,河南,山西
04xx 辽宁,吉林,黑龙江,内蒙古
05xx 江苏,山东,安徽,浙江,福建
06xx 这个保留?
07xx 江西,广西,湖北
08xx 四川,贵州
09xx 甘肃 青海 新疆,陕西
1.忽略非数字的(只留下数字)
2.判断前两个都是0,或86开头,且大于11位,为国际编码,国际编码后如果是0,到第4步
3.第一个是0,第二个非0,为国内编码,
4.根据上述我提供的得到身份
区号+座机号码+分机号码:regexp="^(0[0-9]{2,3}-)?([2-9][0-9]{6,7})+(-[0-9]{1,4})?$"
手机(中国移动手机号码):regexp="^(((d{3}))|(d{3}-))?13[456789]d{8}|15[89]d{8}"
所有手机号码:regexp="^(((d{3}))|(d{3}-))?13[0-9]d{8}|15[89]d{8}"(新添加了158,159两个号段)
正则表达式 允许输入汉字,数字,标点符号!最多 输入200个字符,但不允许输入特殊字符?
是用在那个环境下的? js的如下:
^([u4e00-u9fa5]|[0-9]|[,]|[,]){0,200}$
标点符号要添加 则如 添加 “
^([u4e00-u9fa5]|[0-9]|[,]|[,]|[“]){0,200}$