正则表达式举例

  • Post author:
  • Post category:其他



匹配中文字符的正则表达式: [/u4e00-/u9fa5]


匹配双字节字符(包括汉字在内):[^/x00-/xff]


应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)


String.prototype.len=function(){return this.replace([^/x00-/xff]/g,”aa”).length;}


匹配空行的正则表达式:/n[/s| ]*/r


匹配HTML标记的正则表达式:/<(.*)>.*<///1>|<(.*) //>/


匹配首尾空格的正则表达式:(^/s*)|(/s*$)


匹配Email地址的正则表达式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*


匹配网址URL的正则表达式:http://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)?


/(/d+)/.(/d+)/.(/d+)/.(/d+)/g  //匹配IP地址的正则表达式


下面是利用正则表达式匹配IP地址,并将IP地址转换成对应数值的Javascript程序:


function IP2V(ip)

{


re=/(/d+)/.(/d+)/.(/d+)/.(/d+)/g  //匹配IP地址的正则表达式

if(re.test(ip))

{


return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1

}

else

{


throw new Error(“Not a valid IP address!”)

}

}


利用正则表达式限制网页表单里的文本框输入内容:


用 正则表达式限制只能输入中文:οnkeyup=”value=value.replace(/[^/u4E00-/u9FA5]/g,”)” onbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^/u4E00-/u9FA5]/g,”))”


用 正则表达式限制只能输入全角字符: οnkeyup=”value=value.replace(/[^/uFF00-/uFFFF]/g,”)” onbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^/uFF00-/uFFFF]/g,”))”


用 正则表达式限制只能输入数字:οnkeyup=”value=value.replace(/[^/d]/g,”) “onbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^/d]/g,”))”


用 正则表达式限制只能输入数字和英文:οnkeyup=”value=value.replace(/[/W]/g,”) “onbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^/d]/g,”))”


^/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





版权声明:本文为lyflower原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。