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 27 PHP
php addslashes 函数详细分析说明
Jun 23 PHP
php读取3389的脚本
May 06 PHP
20个2014年最优秀的PHP框架回顾
Oct 22 PHP
php中count获取多维数组长度的方法
Nov 03 PHP
php采集中国代理服务器网的方法
Jun 16 PHP
使用PHP进行微信公众平台开发的示例
Aug 21 PHP
php数据访问之查询关键字
May 09 PHP
浅谈关于PHP解决图片无损压缩的问题
Sep 01 PHP
php提取微信账单的有效信息
Oct 01 PHP
PHP中md5()函数的用法讲解
Mar 30 PHP
PHP优化之批量操作MySQL实例分析
Apr 23 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
全国FM电台频率大全 - 6 辽宁省
2020/03/11 无线电
php 批量生成html,txt文件的实现代码
2013/06/26 PHP
PHP中单引号与双引号的区别分析
2014/08/19 PHP
PHP多进程编程总结(推荐)
2016/07/18 PHP
js创建数据共享接口——简化框架之间相互传值
2011/10/23 Javascript
用jquery实现输入框获取焦点消失文字
2013/04/27 Javascript
jQuery的slideToggle方法实例
2013/05/07 Javascript
为JS扩展Array.prototype.indexOf引发的问题及解决办法
2015/01/21 Javascript
jQuery实现的fixedMenu下拉菜单效果代码
2015/08/24 Javascript
js仿百度登录页实现拖动窗口效果
2016/03/11 Javascript
js实现常见的工具条效果
2017/03/02 Javascript
Bootstrap输入框组件简单实现代码
2017/03/06 Javascript
详解nodejs微信公众号开发——6.自定义菜单
2017/04/13 NodeJs
js 取消页面可以选中文字的功能方法
2018/01/02 Javascript
使用FileReader API创建Vue文件阅读器组件
2018/04/03 Javascript
Vue中$refs的用法详解
2018/06/24 Javascript
Angular使用Restful的增删改
2018/12/28 Javascript
jQuery实现动态添加和删除input框代码实例
2019/03/29 jQuery
详解Vue 如何监听Array的变化
2019/06/06 Javascript
详解基于原生JS验证表单组件xy-form
2019/08/20 Javascript
vue分页插件的使用方法
2019/12/25 Javascript
vue中如何添加百度统计代码
2020/12/19 Vue.js
用python实现批量重命名文件的代码
2012/05/25 Python
python实现数据预处理之填充缺失值的示例
2017/12/22 Python
在Python文件中指定Python解释器的方法
2019/02/18 Python
python基于celery实现异步任务周期任务定时任务
2019/12/30 Python
python3.7添加dlib模块的方法
2020/07/01 Python
计算机专业毕业生的自我评价
2013/11/18 职场文书
学习两会精神心得范文
2014/03/17 职场文书
雷锋精神演讲稿
2014/05/13 职场文书
小学优秀班干部事迹材料
2014/05/25 职场文书
销售开票员岗位职责
2015/04/15 职场文书
幼儿园小班开学寄语(2016秋季)
2015/12/03 职场文书
《玩出了名堂》教学反思
2016/02/17 职场文书
python 下划线的多种应用场景总结
2021/05/12 Python
Nginx限流和黑名单配置
2022/05/20 Servers