找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1266|回复: 0
打印 上一主题 下一主题

PHP一些常用的正则表达式字符的一些转换

[复制链接]

2588

主题

2588

帖子

7694

积分

论坛元老

Rank: 8Rank: 8

积分
7694
跳转到指定楼层
楼主
发表于 2018-2-14 09:22:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            匹配双字节字符(包括汉字在内): [^\x00-\xff]  
  应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)  
String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;}  
  匹配空行的正则表达式: \n[\s| ]*\r  
  匹配HTML标记的正则表达式: /.*|/  
  匹配首尾空格的正则表达式: (^\s*)|(\s*$)  
  应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下:  
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.*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="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(/(.).*/g,"")  
var re=new RegExp("["+s1+"]","g")  
var s2=s.replace(re,"")  
alert(s1+s2) //结果为:abcefgi  
  用正则表达式从URL地址中提取文件名的javascript程序,如下结果为page1  
s="http://www.9499.net/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,''))  
            
            
您可能感兴趣的文章:
  • [PHP]常用正则表达式收集
  • 最常用的PHP正则表达式收集整理
  • php下常用表单验证的正则表达式
  • PHP 正则表达式常用函数使用小结
  • php中常用的正则表达式的介绍及应用实例代码
  • 修改月光博客网站中PHP常用正则表达式中出现的错误
  • PHP中过滤常用标签的正则表达式
  • 日常收集整理php正则表达式(超常用)
  • 超常用的PHP正则表达式收集整理
  • PHP最常用的正则表达式
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端