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 相关文章推荐
编写漂亮的代码 - 将后台程序与前端程序分开
Apr 23 PHP
php xml-rpc远程调用
Dec 19 PHP
创建数据库php代码 用PHP写出自己的BLOG系统
Apr 12 PHP
php 目录遍历、删除 函数的使用介绍
Apr 28 PHP
php内存缓存实现方法
Jan 24 PHP
摘自织梦CMS中的图片处理类
Aug 08 PHP
基于thinkPHP框架实现留言板的方法
Oct 17 PHP
php基于curl重写file_get_contents函数实例
Nov 08 PHP
PHP-FPM和Nginx的通信机制详解
Feb 01 PHP
Swoole 5将移除自动添加Event::wait()特性详解
Jul 10 PHP
php 使用 __call实现重载功能示例
Nov 18 PHP
Laravel6.18.19如何优雅的切换发件账户
Jun 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
PHP与SQL注入攻击[三]
2007/04/17 PHP
php中比较简单的导入phpmyadmin生成的sql文件的方法
2011/06/28 PHP
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
2011/11/26 PHP
php读取excel文件示例分享(更新修改excel)
2014/02/27 PHP
PHP临时文件的安全性分析
2014/07/04 PHP
php语言中使用json的技巧及json的实现代码详解
2015/10/27 PHP
PHP从零开始打造自己的MVC框架之类的自动加载实现方法详解
2019/06/03 PHP
Jquery增加鼠标中间功能mousewheel的实例代码
2013/09/05 Javascript
IE中getElementsByName()对有些元素无效的解决方案
2014/09/28 Javascript
JavaScript将字符串转换成字符编码列表的方法
2015/03/19 Javascript
解析Node.js异常处理中domain模块的使用方法
2016/02/16 Javascript
angular源码学习第一篇 setupModuleLoader方法
2016/10/20 Javascript
高效的jQuery代码编写技巧总结
2017/02/22 Javascript
Vue.js组件间的循环引用方法示例
2017/12/27 Javascript
Vue 实现展开折叠效果的示例代码
2018/08/27 Javascript
DatePickerDialog 自定义样式及使用全解
2019/07/09 Javascript
Vue快速实现通用表单验证的方法
2020/02/24 Javascript
基于html+css+js实现简易计算器代码实例
2020/02/28 Javascript
JS实现碰撞检测效果
2020/03/12 Javascript
[03:24]DOTA2超级联赛专访hao 大翻盘就是逆袭
2013/05/24 DOTA
[01:45]DOTA2新英雄“神谕者”全方位展示
2014/11/21 DOTA
[44:33]EG vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python TCP包注入方式
2020/05/05 Python
Python3自动生成MySQL数据字典的markdown文本的实现
2020/05/07 Python
Python打印特殊符号及对应编码解析
2020/05/07 Python
关于tensorflow softmax函数用法解析
2020/06/30 Python
canvas 如何绘制线段的实现方法
2018/07/12 HTML / CSS
留学自荐信的技巧
2013/10/17 职场文书
公司开业庆典主持词
2014/03/21 职场文书
房屋买卖协议书
2014/04/10 职场文书
个人先进事迹总结
2015/02/26 职场文书
被告代理词范文
2015/05/25 职场文书
大国崛起英国观后感
2015/06/02 职场文书
一百条裙子读书笔记
2015/07/01 职场文书
Python selenium模拟网页点击爬虫交管12123违章数据
2021/05/26 Python
Java8利用Stream对列表进行去除重复的方法详解
2022/04/14 Java/Android