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 中的类
Oct 09 PHP
php调用mysql存储过程
Feb 14 PHP
IIS6的PHP最佳配置方法
Mar 19 PHP
用PHP提取中英文词语以及数字的首字母的方法介绍
Apr 23 PHP
php实现执行某一操作时弹出确认、取消对话框
Dec 30 PHP
使用PHP把HTML生成PDF文件的几个开源项目介绍
Nov 17 PHP
浅析php单例模式
Nov 25 PHP
PHP中iconv函数转码时截断字符问题的解决方法
Jan 21 PHP
php简单统计在线人数的方法
May 10 PHP
php实现基于openssl的加密解密方法
Sep 30 PHP
PHP实现的二分查找算法实例分析
Dec 19 PHP
Yii 访问 Gii(脚手架)时出现 403 错误
Jun 06 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制作静态网站的模板框架
2006/10/09 PHP
色色整理的PHP面试题集锦
2012/03/08 PHP
WordPress中自定义后台管理界面配色方案的小技巧
2015/12/29 PHP
php封装的表单验证类完整实例
2016/10/19 PHP
laravel-admin 实现给grid的列添加行数序号的方法
2019/10/08 PHP
javascript 关闭IE6、IE7
2009/06/01 Javascript
自己的js工具 Event封装
2009/08/21 Javascript
jQuery图片滚动图片的效果(另类实现)
2013/06/02 Javascript
js文件缓存之版本管理详解
2013/07/05 Javascript
Js操作Select大全(取值、设置选中等等)
2013/10/29 Javascript
js实现九宫格图片半透明渐显特效的方法
2015/02/16 Javascript
JavaScript 表单处理实现代码
2015/04/13 Javascript
JavaScript学习笔记(三):JavaScript也有入口Main函数
2015/09/12 Javascript
详解Wondows下Node.js使用MongoDB的环境配置
2016/03/01 Javascript
基于Echarts 3.19 制作常用的图形(非静态)
2016/05/19 Javascript
jQuery获取同级元素的简单代码
2016/07/09 Javascript
jQuery实现级联下拉框实战(5)
2017/02/08 Javascript
javaScript实现游戏倒计时功能
2018/11/17 Javascript
vue实现微信分享功能
2018/11/28 Javascript
[04:07]显微镜下的DOTA2第八期——英雄复活动作
2014/06/24 DOTA
[33:17]OG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
wxpython 最小化到托盘与欢迎图片的实现方法
2014/06/09 Python
Linux-ubuntu16.04 Python3.5配置OpenCV3.2的方法
2018/04/02 Python
浅谈pyqt5在QMainWindow中布局的问题
2019/06/21 Python
Python批量修改图片分辨率的实例代码
2019/07/04 Python
Python 实现劳拉游戏的实例代码(四连环、重力四子棋)
2021/03/03 Python
5分钟弄清楚html5的drag and drop(小结)
2019/04/10 HTML / CSS
银行员工职业规划范文
2014/01/21 职场文书
民族团结先进个人材料
2014/02/05 职场文书
计算机多媒体专业自荐信
2014/07/04 职场文书
2014年大学生工作总结
2014/11/20 职场文书
小学庆六一主持词
2015/06/30 职场文书
交流会主持词
2015/07/02 职场文书
党员发展大会主持词
2015/07/03 职场文书
医院消毒隔离制度
2015/08/05 职场文书
Python Pandas模块实现数据的统计分析的方法
2021/06/24 Python