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 相关文章推荐
php获取mysql版本的几种方法小结
Mar 25 PHP
php相当简单的分页类
Oct 02 PHP
php fsockopen伪造post与get方法的详解
Jun 14 PHP
浅析php中三个等号(===)和两个等号(==)的区别
Aug 06 PHP
PHP 5.5 创建和验证哈希最简单的方法详解
Nov 07 PHP
开源php中文分词系统SCWS安装和使用实例
Apr 11 PHP
PHP实现显示照片exif信息的方法
Jul 11 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
Dec 29 PHP
php简单生成一组与多组随机字符串的方法
May 09 PHP
PHP中trait使用方法详细介绍
May 21 PHP
PHP实现负载均衡的加权轮询方法分析
Aug 22 PHP
php实现的支付宝网页支付功能示例【基于TP5框架】
Sep 16 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
解析左右值无限分类的实现算法
2013/06/20 PHP
一款简单实用的php操作mysql数据库类
2014/12/08 PHP
laravel5表单唯一验证的实例代码
2019/09/30 PHP
PHP接入支付宝接口失效流程详解
2020/11/10 PHP
javascript 放大镜 v1.0 基于Yui2 实现的放大镜效果
2010/03/08 Javascript
javascript 事件处理程序介绍
2012/06/27 Javascript
jQuery动态添加、删除元素的方法
2014/01/09 Javascript
JavaScript图片轮播代码分享
2015/07/31 Javascript
尝试动手制作javascript放大镜效果
2015/12/25 Javascript
AngularJS模板加载用法详解
2016/11/04 Javascript
JavaScript用JSONP跨域请求数据实例详解
2017/01/06 Javascript
jQuery中将json数据显示到页面表格的方法
2018/05/27 jQuery
解决vue动态为数据添加新属性遇到的问题
2018/09/18 Javascript
基于Vue2-Calendar改进的日历组件(含中文使用说明)
2019/04/14 Javascript
Vue对象赋值视图不更新问题及解决方法
2019/06/03 Javascript
JavaScript如何判断input数据类型
2020/02/06 Javascript
小程序中使用css var变量(使js可以动态设置css样式属性)
2020/03/31 Javascript
ES6箭头函数和扩展实例分析
2020/05/23 Javascript
解决vue打包报错Unexpected token: punc的问题
2020/10/24 Javascript
[03:24]CDEC.Y赛前采访 努力备战2016国际邀请赛中国区预选赛
2016/06/25 DOTA
[03:40]DOTA2抗疫特别篇《英雄年代》
2020/02/28 DOTA
python requests库爬取豆瓣电视剧数据并保存到本地详解
2019/08/10 Python
pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换
2020/01/13 Python
python计算波峰波谷值的方法(极值点)
2020/02/18 Python
浅谈python opencv对图像颜色通道进行加减操作溢出
2020/06/03 Python
python3检查字典传入函数键是否齐全的实例
2020/06/05 Python
image-set实现Retina屏幕下图片显示详细介绍
2012/12/24 HTML / CSS
浅析移动设备HTML5页面布局
2015/12/01 HTML / CSS
amazeui页面校验功能的实现代码
2020/08/24 HTML / CSS
美国领先的汽车轮胎和轮毂供应商:TireBuyer
2016/07/21 全球购物
中英双版中文教师求职信
2013/10/27 职场文书
社会实践先进工作者事迹材料
2014/05/06 职场文书
2014年科室工作总结范文
2014/12/19 职场文书
python 破解加密zip文件的密码
2021/04/22 Python
Python 的演示平台支持 WSGI 接口的应用
2022/04/20 Python
Python Flask实现进度条
2022/05/11 Python