All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
基于AJAX.NET技术的DataGrid控件开发_[Asp.Net教程]
XMLHTTP获取web访问头信息和网页代码_[XML教程]
Visual,Studio.NET,安装错误_.net资料_编程技术
ASP.Net基础学习,HTML控件,简单介绍_[Asp.Net教程]
用ASP.NET开发电子商务网站对数据库表的设计_[Asp.Net教程]
使用asp.net函数把DataTable转成XML文件
LAMP(Linux+Apache+Mysql+PHP)优化技巧_php资料_编程技术
C#做的一个加密解密的类
PHP技巧:PHP关于中文汉字替换与模式匹配的问题_[PHP教程]
有用的SQL语句(删除重复记录,收缩日志)_[SQL,Server教程]
Reading number is top 10 pictures
看如何给单纯的少女洗脑
Plump, too plump!1
The hot big eye big breast beauty3
I also want to live a June 1 children's day, dad
Abdominal hit by iron--HangZhou best driver parking save passengers
人物写真-谢楠
Average female college students1
A man's favorite things4
Sora aoi possession of boudoir2
Female model behind the bitterness, often being overcharged4
Download software ranking
linux初级教程
C#编程思想
jdk1.5
The cock of the Grosvenor LTD handsome
双旗镇刀客A
艳兽都市
Unix video tutorial17
VeryCD电驴(EasyMule) V1.1.9 Build09081
Unix video tutorial4
Boxer's Top ten classic battle3
delv published in(发表于) 2013/12/31 6:44:41 Edit(编辑)
经典正则表达式,(收藏整理)_JavaScript技术_编程技术

经典正则表达式,(收藏整理)_JavaScript技术_编程技术

经典正则表达式 (收藏整理)_JavaScript技术_编程技术-你的首页-uuhomepage.com

作者:阿赖 (Email: A at Lai.com.cn 主页:http://www.9499.net Blog: http://blog.csdn.net/laily/


关键字:正则表达式 模式匹配 javascript


摘要:收集一些常用的正则表达式。


正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。本贴随时会更新。


匹配中文字符的正则表达式: [\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*$)



String.prototype.trim = function()
{
return this.replace(/(^\s*)|(\s*$)/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!")
}
}


不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下:


var ip="10.100.20.168"
ip=ip.split(".")
alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))


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


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


利用正则表达式去除字串中重复的字符的算法程序:[注:此程序不正确,原因见红色字体]


var s="abacabefgeeii"
var s1=s.replace(/(.).*\1/g,"$1")
var re=new RegExp("["+s1+"]","g")
var s2=s.replace(re,"")
alert(s1+s2) //结果为:abcefgi


===============================
如果var s = "abacabefggeeii"
结果就不对了,结果为:abeicfgg
正则表达式的能力有限


我原来在CSDN上发贴寻求一个表达式来实现去除重复字符的方法,最终没有找到,这是我能想到的最简单的实现方法。思路是使用后向引用取出包括重复的字符,再以重复的字符建立第二个表达式,取到不重复的字符,两者串连。这个方法对于字符顺序有要求的字符串可能不适用。


得用正则表达式从URL地址中提取文件名的javascript程序,如下结果为page1


s="http://www.9499.net/page1.htm"
s=s.replace(/(.*\/){0,}([^\.]+).*/ig,"$2")
alert(s)


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


用正则表达式限制只能输入中文: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,''))"





添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.