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 相关文章推荐
MYSQL数据库初学者使用指南
Nov 16 PHP
php侧拉菜单 漂亮,可以向右或者向左展开,支持FF,IE
Oct 15 PHP
fleaphp crud操作之findByField函数的使用方法
Apr 23 PHP
php开发留言板的CRUD(增,删,改,查)操作
Apr 19 PHP
PHP中strtr字符串替换用法详解
Nov 26 PHP
php实现的简易扫雷游戏实例
Jul 09 PHP
从性能方面考虑PHP下载远程文件的3种方法
Dec 29 PHP
Smarty高级应用之缓存操作技巧分析
May 14 PHP
PHP中new static()与new self()的比较
Aug 19 PHP
微信封装的调用微信签名包的类库
Jun 08 PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
Oct 11 PHP
laravel实现简单用户权限的示例代码
May 28 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初始化对象和析构函数的简单实例
2014/03/11 PHP
ThinkPHP3.1的Widget新用法
2014/06/19 PHP
php base64 编码与解码实例代码
2017/03/21 PHP
PHP实现的AES加密、解密封装类与用法示例
2018/08/02 PHP
PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例
2019/05/08 PHP
PHP从零开始打造自己的MVC框架之类的自动加载实现方法详解
2019/06/03 PHP
PHP 图片合成、仿微信群头像的方法示例
2019/10/25 PHP
jQuery图片预加载 等比缩放实现代码
2011/10/04 Javascript
javascript中节点的最近的相关节点访问方法
2013/03/20 Javascript
JavaScript获取图片的原始尺寸以宽度为例
2014/05/04 Javascript
javascript数组去重常用方法实例分析
2017/04/11 Javascript
JavaScript实现获取select下拉框中第一个值的方法
2018/02/06 Javascript
layui实现table加载的示例代码
2018/08/14 Javascript
4个顶级JavaScript高级文本编辑器
2018/10/10 Javascript
小程序开发踩坑:页面窗口定位(相对于浏览器定位)(推荐)
2019/04/25 Javascript
[00:15]TI9地铁玩家打卡
2019/08/11 DOTA
[31:29]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第一场 12.20
2020/12/23 DOTA
[41:52]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第二场 2月22日
2021/03/11 DOTA
python3访问sina首页中文的处理方法
2014/02/24 Python
Fiddler如何抓取手机APP数据包
2016/01/22 Python
用virtualenv建立多个Python独立虚拟开发环境
2017/07/06 Python
python 实现将多条曲线画在一幅图上的方法
2019/07/07 Python
Django 用户认证组件使用详解
2019/07/23 Python
python web框架中实现原生分页
2019/09/08 Python
TensorFlow实现自定义Op方式
2020/02/04 Python
python 通过文件夹导入包的操作
2020/06/01 Python
详解如何解决canvas图片getImageData,toDataURL跨域问题
2018/09/17 HTML / CSS
美国和加拿大房车出售在线分类广告:RVT.com
2018/04/23 全球购物
美国最大的船只买卖在线市场:Boat Trader
2018/08/04 全球购物
乐高西班牙官方商店:LEGO Shop ES
2019/12/01 全球购物
.NET程序员的数据库面试题
2012/10/10 面试题
假面舞会策划方案
2014/05/29 职场文书
图书馆标语
2014/06/19 职场文书
见习报告的格式
2014/11/04 职场文书
死者家属慰问信
2015/03/24 职场文书
Java 多态分析
2022/04/26 Java/Android