- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PHP一些常用的正则表达式
作者:?佚名?来源:网络?浏览:1867?日期:2006-6-17 18:04:14
匹配中文字符的正则表达式: [\u4e00-\u9fa5]? 匹配双字节字符(包括汉字在内): [^\x00-\xff]? 应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)?Stotype.len=function(){return this.replace([^\x00-\xff]/g,aa).length;}? 匹配空行的正则表达式: \n[\s| ]*\r? 匹配HTML标记的正则表达式: /(.*).*\/|(.*) \//? 匹配首尾空格的正则表达式: (^\s*)|(\s*$)? 应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下:?Stotype.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.*Math.pow(255,3))+RegExp.*Math.pow(255,2))+RegExp.*255+RegExp.*1}?else {?throw new Error(Not a valid IP address!)?}}? 不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下:?var ip=68?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=abacabefgeeiivar s1=s.replace(/(.).*/g,)?var re=new RegExp([+s1+],g)?var s2=s.replace(re,)?alert(s1+s2) //结果为:abcefgi? 用正则表达式从URL地址中提取文件名的javascript程序,如下结果为page1?s=/page1.htm?s=s.replace(/(.*\/)([^\.]+).*/ig,)?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,))
文档评论(0)