222
发新话题
打印

PHP动态网页制作常用的正则表达式

PHP动态网页制作常用的正则表达式

匹配中文字符的正则表达式:
复制内容到剪贴板
代码:
[\u4e00-\u9fa5]
匹配HTML标记的正则表达式:
复制内容到剪贴板
代码:
/<(.*)>.*<\/>|<(.*) \/>/
利用正则表达式分解和转换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="abacabefeeii"
var s1=s.replace(/(.).*/g,"")
var re=new RegExp("["+s1+"]","g")
var s2=s.replace(re,"")alert(s1+s2)  //结果为abcfgi
用正则表达式从URL地址中提取文件名的javascript程序,如下结果为page1
复制内容到剪贴板
代码:
s="http://www.chinaz.com/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.replac(/[^\u4E00-\u9FA5]/g,'')"
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/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,''))
[ 本帖最后由 月飞春秋 于 2008-8-18 14:58 编辑 ]
本帖最近评分记录
  • flash 威望 +5 我很赞同 2008-8-18 19:19
  • 蜘蛛侠 威望 +2 2008-8-18 16:10
成功只有努力去奋斗!

TOP

不错。收藏学习

TOP

发新话题