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


Posted in PHP onJuly 29, 2008

匹配双字节字符(包括汉字在内): [^\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 相关文章推荐
PHP3 safe_mode 失效漏洞
Oct 09 PHP
PHP操作文件方法问答
Mar 16 PHP
php仿ZOL分页类代码
Oct 02 PHP
php实现首页链接查询 友情链接检查的代码
Jan 05 PHP
PHP程序员面试 切忌急功近利(更需要注重以后的发展)
Sep 01 PHP
windows下开发并编译PHP扩展的方法
Mar 18 PHP
PHP对表单提交特殊字符的过滤和处理方法汇总
Feb 18 PHP
php实现最简单的MVC框架实例教程
Sep 08 PHP
PHP链接MySQL的常用扩展函数
Oct 23 PHP
WIN8.1下搭建PHP5.6环境
Apr 29 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
Sep 04 PHP
PHP使用ActiveMQ实现消息队列的方法详解
May 31 PHP
php 全文搜索和替换的实现代码
Jul 29 #PHP
PHP中$_SERVER的详细参数与说明
Jul 29 #PHP
php include的妙用,实现路径加密
Jul 29 #PHP
php5编程中的异常处理详细方法介绍
Jul 29 #PHP
php intval的测试代码发现问题
Jul 27 #PHP
php在线打包程序源码
Jul 27 #PHP
php对gzip文件或者字符串解压实例参考
Jul 25 #PHP
You might like
如何使用php绘制在图片上的正余弦曲线
2013/06/08 PHP
PHP反射机制用法实例
2014/08/28 PHP
php自定义函数实现统计中文字符串长度的方法小结
2017/04/15 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
2020/01/23 PHP
thinkphp5.1框架模板赋值与变量输出示例
2020/05/25 PHP
表单(FORM)的一些实用效果代码
2007/03/25 Javascript
Javascript 入门基础学习
2010/03/10 Javascript
js获取单元格自定义属性值的代码(IE/Firefox)
2010/04/05 Javascript
查找iframe里元素的方法可传参
2013/09/11 Javascript
浅谈JavaScript中Date(日期对象),Math对象
2015/02/05 Javascript
JS往数组中添加项性能分析
2015/02/25 Javascript
Javascript实现计算个人所得税
2015/05/10 Javascript
jQuery时间插件jquery.clock.js用法实例(5个示例)
2016/01/14 Javascript
最简单纯JavaScript实现Tab标签页切换的方式(推荐)
2016/07/25 Javascript
JS简单获取及显示当前时间的方法
2016/08/03 Javascript
JS简单实现点击复制链接的方法
2016/08/03 Javascript
JavaScript仿网易选项卡制作代码
2016/10/06 Javascript
原生Javascript插件开发实践
2017/01/09 Javascript
jQuery页面弹出框实现文件上传
2017/02/09 Javascript
vuejs绑定class和style样式
2017/04/11 Javascript
react项目如何使用iconfont的方法步骤
2019/03/13 Javascript
layui 解决form表单点击无反应的问题
2019/10/25 Javascript
vue 根据选择条件显示指定参数的例子
2019/11/09 Javascript
vue+iview框架实现左侧动态菜单功能的示例代码
2020/07/23 Javascript
简单介绍Python的轻便web框架Bottle
2015/04/08 Python
python实现文本去重且不打乱原本顺序
2016/01/26 Python
浅析AST抽象语法树及Python代码实现
2016/06/06 Python
浅谈Python 对象内存占用
2016/07/15 Python
Python numpy.zero() 初始化矩阵实例
2019/11/27 Python
Pytorch实现的手写数字mnist识别功能完整示例
2019/12/13 Python
Django values()和value_list()的使用
2020/03/31 Python
大学生优秀班干部事迹材料
2014/05/26 职场文书
旅游节目策划方案
2014/05/26 职场文书
党员批评与自我批评总结
2014/10/15 职场文书
家长会感言
2015/08/01 职场文书
Java实现二维数组和稀疏数组之间的转换
2021/06/27 Java/Android