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的FTP学习(二)
Oct 09 PHP
同一空间绑定多个域名而实现访问不同页面的PHP代码
Dec 06 PHP
使用YUI+Ant 实现JS CSS压缩
Sep 02 PHP
20个2014年最优秀的PHP框架回顾
Oct 22 PHP
ThinkPHP中url隐藏入口文件后接收alipay传值的方法
Dec 09 PHP
PHP使用PDO连接ACCESS数据库
Mar 05 PHP
CodeIgniter实现从网站抓取图片并自动下载到文件夹里的方法
Jun 17 PHP
PHP Curl模拟登录微信公众平台、新浪微博实例代码
Jan 28 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
Oct 24 PHP
php处理多图上传压缩代码功能
Jun 13 PHP
Laravel框架源码解析之模型Model原理与用法解析
May 14 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
DC动画很好看?新作烂得令人发指,名叫《红色之子》
2020/04/09 欧美动漫
简单的php数据库操作类代码(增,删,改,查)
2013/04/08 PHP
PHP中的按位与和按位或操作示例
2014/01/27 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
PHP 获取 ping 时间的实现方法
2017/09/29 PHP
PHP实现转盘抽奖算法分享
2020/04/15 PHP
JS延迟加载(setTimeout) JS最后加载
2010/07/15 Javascript
jquery关于图形报表的运用实现代码
2011/01/06 Javascript
window.opener用法和用途实例介绍
2013/08/19 Javascript
node.js中的fs.chownSync方法使用说明
2014/12/16 Javascript
深入浅析knockout源码分析之订阅
2016/07/12 Javascript
jQuery实现贪吃蛇小游戏(附源码下载)
2017/03/04 Javascript
Bootstrap 3浏览器兼容性问题及解决方案
2017/04/11 Javascript
JavaScript基于对象方法实现数组去重及排序操作示例
2018/07/10 Javascript
微信小程序仿通讯录功能
2020/04/09 Javascript
微信小程序实现单个或多个倒计时功能
2020/11/01 Javascript
[01:38]DOTA2第二届亚洲邀请赛中国区预选赛出线战队晋级之路
2017/01/17 DOTA
python中关于时间和日期函数的常用计算总结(time和datatime)
2013/03/08 Python
用Python实现命令行闹钟脚本实例
2016/09/05 Python
Python 基于wxpy库实现微信添加好友功能(简洁)
2019/11/29 Python
Python使用Tkinter实现转盘抽奖器的步骤详解
2020/01/06 Python
Python 使用双重循环打印图形菱形操作
2020/08/09 Python
通俗讲解python 装饰器
2020/09/07 Python
H5 video poster属性设置视频封面的方法
2020/05/25 HTML / CSS
Roots加拿大官网:加拿大休闲服饰品牌
2016/10/24 全球购物
印度尼西亚手表和包包商店:Urban Icon
2019/12/12 全球购物
如何开启linux的ssh服务
2015/02/14 面试题
青年创业培训欢迎词
2014/01/10 职场文书
班主任先进事迹材料
2014/12/17 职场文书
民主评议党员个人总结
2015/02/13 职场文书
比赛主持人开场白
2015/05/29 职场文书
家长对学校的意见和建议
2015/06/03 职场文书
2016年小学优秀班主任事迹材料
2016/02/29 职场文书
七个Python必备的GUI库
2021/04/27 Python
SQL Server使用导出向导功能
2022/04/08 SQL Server
Alexa停服!网站排名将何去何从?目前还没有替代品。
2022/04/15 杂记