本篇文章给大家谈谈ip *** 的正则表达式,以及正则中国所有的ip *** 对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
本文目录
一、寻js正则表达式
整数或者小数:^[0-9]+ *** ;.{0,1}[0-9]{0,2}$
只能输入n位的数字:"^ *** ;d{n}$"。
只能输入至少n位的数字:"^ *** ;d{n,}$"。
只能输入m~n位的数字:。"^ *** ;d{m,n}$"
只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。
只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。
只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"。
只能输入非零的正整数:"^ *** ;+?[1-9][0-9]*$"。
只能输入非零的负整数:"^ *** ;-[1-9][]0-9"*$。
只能输入长度为3的字符:"^.{3}$"。
只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"。
只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。
只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。
只能输入由数字和26个英文字母组成的字符串:"^[A-Za-z0-9]+$"。
只能输入由数字、26个英文字母或者下划线组成的字符串:"^ *** ;w+$"。
验证用户密码:"^[a-zA-Z] *** ;w{5,17}$"正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。
验证是否含有^%&',;=?$ *** ;"等字符:"[^%&',;=?$ *** ;x22]+"。
只能输入汉字:"^[ *** ;u4e00- *** ;u9fa5]{0,}$"
验证E *** il *** :"^ *** ;w+([-+.] *** ;w+)*@ *** ;w+([-.] *** ;w+)* *** ;. *** ;w+([-.] *** ;w+)*$"。
验证InternetURL:"^http://([ *** ;w-]+ *** ;.)+[ *** ;w-]+(/[ *** ;w-./?%&=]*)?$"。
验证 *** 号码:"^( *** ;( *** ;d{3,4}-)| *** ;d{3.4}-)? *** ;d{7,8}$"正确格式为:"XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。
验证 *** 号(15位或18位数字):"^ *** ;d{15}| *** ;d{18}$"。
验证一年的12个月:"^(0?[1-9]|1[0-2])$"正确格式为:"01"~"09"和"1"~"12"。
验证一个月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正确格式为;"01"~"09"和"1"~"31"。匹配中文字符的正则表达式: [ *** ;u4e00- *** ;u9fa5]
匹配双字节字符(包括汉字在内):[^ *** ;x00- *** ;xff]
应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
String.prototype.len=function(){ret *** n this.replace(/[^ *** ;x00- *** ;xff]/g,"aa").length;}
匹配空行的正则表达式: *** ;n[ *** ;s| ]* *** ;r
匹配html标签的正则表达式:<(.*)>(.*)< *** ;/(.*)>|<(.*) *** ;/>
匹配首尾空格的正则表达式:(^ *** ;s*)|( *** ;s*$)
应用:j *** ascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下:
String.prototype.trim= function()
ret *** n this.replace(/(^ *** ;s*)|( *** ;s*$)/g,"");
利用正则表达式分解和转换IP *** :
下面是利用正则表达式匹配IP *** ,并将IP *** 转换成对应数值的J *** ascript程序:
re=/( *** ;d+) *** ;.( *** ;d+) *** ;.( *** ;d+) *** ;.( *** ;d+)/g//匹配IP *** 的正则表达式
ret *** n RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
throw new Error("Not a valid IP address!")
不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下:
alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))
匹配E *** il *** 的正则表达式: *** ;w+([-+.] *** ;w+)*@ *** ;w+([-.] *** ;w+)* *** ;. *** ;w+([-.] *** ;w+)*
匹配 *** URL的正则表达式:http://([ *** ;w-]+ *** ;.)+[ *** ;w-]+(/[ *** ;w-./?%&=]*)?
利用正则表达式 *** 网页表单里的文本框输入内容:
用正则表达式 *** 只能输入中文:onkeyup="value=value.replace(/[^ *** ;u4E00- *** ;u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^ *** ;u4E00- *** ;u9FA5]/g,''))"
用正则表达式 *** 只能输入全角字符: onkeyup="value=value.replace(/[^ *** ;uFF00- *** ;uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^ *** ;uFF00- *** ;uFFFF]/g,''))"
用正则表达式 *** 只能输入数字:onkeyup="value=value.replace(/[^ *** ;d]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^ *** ;d]/g,''))"
用正则表达式 *** 只能输入数字和英文:onkeyup="value=value.replace(/[ *** ;W]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^ *** ;d]/g,''))"
匹配中文字符的正则表达式: [ *** ;u4e00- *** ;u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了
匹配双字节字符(包括汉字在内):[^ *** ;x00- *** ;xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
匹配空白行的正则表达式: *** ;n *** ;s* *** ;r
匹配HTML标记的正则表达式:<( *** ;S*?)[^>]*>.*?|<.*?/>
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧 *** 为力
匹配首尾空白字符的正则表达式:^ *** ;s*| *** ;s*$
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式
匹配E *** il *** 的正则表达式: *** ;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
匹配中国邮政编码:[1-9] *** ;d{5}(?! *** ;d)
匹配 *** : *** ;d{15}| *** ;d{18}
评注:中国的 *** 为15位或18位
匹配ip *** : *** ;d+ *** ;. *** ;d+ *** ;. *** ;d+ *** ;. *** ;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个英文字母或者下划线组成的字符串
评注:最基本也是最常用的一些表达式
整理出来的一些常用的正则表达式所属分类: *** cript(三)
E *** il:/^ *** ;w+([-+.] *** ;w+)*@ *** ;w+([-.] *** ; *** ;w+)* *** ;. *** ;w+([-.] *** ;w+)*$/
isE *** il1:/^ *** ;w+([ *** ;. *** ;-] *** ;w+)* *** ;@ *** ;w+([ *** ;. *** ;-] *** ;w+)* *** ;. *** ;w+$/;
Phone:/^(( *** ;( *** ;d{3} *** ;))|( *** ;d{3} *** ;-))?( *** ;(0 *** ;d{2,3} *** ;)|0 *** ;d{2,3}-)?[1-9] *** ;d{6,7}$/
Mobile:/^(( *** ;( *** ;d{3} *** ;))|( *** ;d{3} *** ;-))?13 *** ;d{9}$/
Url:/^http: *** ;/ *** ;/[A-Za-z0-9]+ *** ;.[A-Za-z0-9]+[ *** ;/= *** ;?% *** ;-&_~`@[ *** ;] *** ;':+!]*([^<> *** ;" *** ;"])*$/
IdCard:/^ *** ;d{15}( *** ;d{2}[A-Za-z0-9])?$/
C *** rency:/^ *** ;d+( *** ;. *** ;d+)?$/
Double:/^[- *** ;+]? *** ;d+( *** ;. *** ;d+)?$/
Chinese:/^[ *** ;u0391- *** ;uFFE5]+$/
UnSafe:/^(([A-Z]*|[a-z]*| *** ;d*|[-_ *** ;~!@# *** ;$% *** ;^& *** ;* *** ;. *** ;( *** ;) *** ;[ *** ;] *** ;{ *** ;}<> *** ;? *** ; *** ; *** ;/ *** ;' *** ;"]*)|.{0,5})$| *** ;s/
PassWord:^[ *** ; *** ;w]{6,12}$
/^( *** ;+ *** ;d+)?( *** ;( *** ;d+ *** ;))?[ *** ;d ]+$/;//这个是国际通用的 *** 号码判断
/^(1[0-2] *** ;d| *** ;d{1,2})$/;//这个是年龄的判断
/^ *** ;d+ *** ;. *** ;d{2}$/;//这个是判断输入的是否为货币值
<!-- IP *** 有效 *** 验证函数-->
<script language=j *** ascript runat=server>
ip_ip='(25[0-5]|2[0-4] *** ; *** ;d|1 *** ; *** ;d *** ; *** ;d| *** ; *** ;d *** ; *** ;d| *** ; *** ;d)';
ip_ipdot= ip+' *** ; *** ;.';
isIPaddress= new RegExp('^'+ip_ipdot+ip_ipdot+ipdot+ip_ip+'$');
应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
String.prototype.len=function(){ret *** n this.replace([^ *** ;x00- *** ;xff]/g,"aa").length;}
应用:j *** ascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下:
String.prototype.trim= function()
ret *** n this.replace(/(^ *** ;s*)|( *** ;s*$)/g,"");
匹配空行的正则表达式: *** ;n[ *** ;s| ]* *** ;r
匹配HTML标记的正则表达式:/<(.*)>.*< *** ;/ *** ;1>|<(.*) *** ;/>/
匹配首尾空格的正则表达式:(^ *** ;s*)|( *** ;s*$)
匹配E *** il *** 的正则表达式: *** ;w+([-+.] *** ;w+)*@ *** ;w+([-.] *** ;w+)* *** ;. *** ;w+([-.] *** ;w+)*
匹配 *** URL的正则表达式:http://([ *** ;w-]+ *** ;.)+[ *** ;w-]+(/[ *** ;w-./?%&=]*)?
^ *** ;d+$//匹配非负整数(正整数+ 0)
^[0-9]*[1-9][0-9]*$//匹配正整数
^((- *** ;d+)|(0+))$//匹配非正整数(负整数+ 0)
^-[0-9]*[1-9][0-9]*$//匹配负整数
^ *** ;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]*)))$//匹配负浮点数
二、怎样用正则表达式匹配IP *** 与域名
我们知道,一个完整的域名,由根域、 *** 域、二级、 *** ??域名构成,并且每级域名之间用点分开,而且每级域名由字母、数字和减号构成(之一个字母不能是减号),不区分大小写,长度不超过63。
单独的名字可以由正则表达式[a-zA-Z0-9][-a-zA-Z0-9]{0,62}来匹配,而完整的域名至少包括两个名字(比如google *** ,由google和com构成),最后可以有一个表示根域的点(在规范中,最后有一个点的才是完整域名,但一般认为包括两个以上名字的域名也是完整域名,哪怕它后面没有点)。
[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?一个IP字串,由四段组成,每一段是0~255的数字,段与段之间用小数点隔开,比如61.139.2.69就是一个合法的IP字串。
如果正则表达式写成\d{1,3}(\.\d{1,3}){3}无疑是不负责的,因为它可以匹配300.400.555.666这样的非法IP字串。
要匹配一个0~255之间的数,有几种匹配方式,下面是其中一种:
100~199 1\d\d百位为1的三位数
200~249 2[0-4]\d三位数,百位是2,十位是0~9
*** ~255 25[0-5]三位数,百位是2,十位是5,个位是0~5
写成正则表达式,即:(\d|([1-9]\d)|(1\d\d)|(2[0-4]\d)|(25[0-5])),但是这样的正则表达式在匹配254这样的字串时,会分别匹配2、5、4,得到3个匹配,达不到预期效果,正确做法是将次序颠倒为((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d),因为在(xxx|yyy)这种匹配行为中,是从左向右搜索的。
((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d)(\.((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d)){3}按:
象061这样的高位为0的数是不能被匹配的。
因此,最上面(1.部分)的写法才是正确完整版的,(2.部分)的写法较为片面
相信看了这些案例你已经掌握了 *** ,更多精彩请关注Gxl网其它相关文章!
怎样用正则表达式让J *** aScript的代码高亮
怎样用正则匹配 *** 号 *** 号和邮箱 ***
三、IP *** 正则表达式
1、这里讲的是IPv4的 *** 格式,总长度 32位=4段*8位,每段之间用.分割,每段都是0-255之间的十进制数值。
2、将0-255用正则表达式表示,可以分成一下几块来分别考虑:
3、取值区间特点正则写法可合并的写法可合并的写法可合并的写法
4、0-9一位数,只有个位,取值是0~9 *** ;d [1-9]? *** ;d(1 *** ;d{2})|([1-9]? *** ;d)
5、(25[0-5]|2[0-4] *** ;d|((1 *** ;d{2})|([1-9]? *** ;d)))
6、10-99两位数,十位取值1-9,个位取值是0~9 [1-9] *** ;d
7、100-199三位数,更高位取值为1,十位取值0-9,个位取值0-9 1 *** ;d{2}-
8、200-249三位数,更高位取值为2,十位取值0-4,个位取值0-9 2[0-4] *** ;d--
9、 *** -255三位数,更高位取值为2,十位取值5,个位取值0-5 25[0-5]--
10、IP *** 格式可表示为:XXX.XXX.XXX.XXX,XXX取值范围是0-255,前三段加一个.重复了三次,在与最后一段合并及组成IP *** 的完整格式。
11、((25[0-5]|2[0-4] *** ;d|((1 *** ;d{2})|([1-9]? *** ;d))) *** ;.){3}(25[0-5]|2[0-4] *** ;d|((1 *** ;d{2})|([1-9]? *** ;d)))
四、C#中验证IP *** 的正则表达式是什么
((?:(?:25[0-5]|2[0-4] *** ;d|((1 *** ;d{2})|([1-9]? *** ;d))) *** ;.){3}(?:25[0-5]|2[0-4] *** ;d|((1 *** ;d{2})|([1-9]? *** ;d))))
1. *** -255:特点:三位数,百位是2,十位是5,个位是0~5,用正则表达式可以写成:25[0-5]
2. 200-249:特点:三位数,百位是2,十位是0~4,个位是0~9,用正则表达式可以写成:2[0-4] *** ;d
3. 0-99的正则表达式可以合写为[1-9]? *** ;d,那么0-199用正则表达式就可以写成(1 *** ;d{2})|([1-9]? *** ;d),
4.这样0~255的正则表达式就可以写成(25[0-5]|2[0-4] *** ;d|((1 *** ;d{2})|([1-9]? *** ;d)))
所以最终为 0-255的表达式重复三次{3}再跟一次没点的
关于ip *** 的正则表达式和正则中国所有的ip *** 的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。