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作为Shell脚本语言使用
Oct 09 PHP
php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
Sep 23 PHP
使用PHP Socket 编程模拟Http post和get请求
Nov 25 PHP
php制作文本式留言板
Mar 18 PHP
php实现的简单日志写入函数
Mar 31 PHP
分享php分页的功能模块
Jun 16 PHP
thinkphp3.x中cookie方法的用法分析
May 19 PHP
thinkPHP5.0框架API优化后的友好性分析
Mar 17 PHP
thinkPHP实现的联动菜单功能详解
May 05 PHP
PHP PDO和消息队列的个人理解与应用实例分析
Nov 25 PHP
php提高脚本性能的4个技巧
Aug 18 PHP
关于PHP数组迭代器的使用方法实例
Nov 17 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面向对象的方法重载两种版本比较
2008/09/08 PHP
php 生成随机验证码图片代码
2010/02/08 PHP
php面向对象中static静态属性与方法的内存位置分析
2015/02/08 PHP
基于php实现随机合并数组并排序(原排序)
2015/11/26 PHP
php从数据库中读取特定的行(实例)
2017/06/02 PHP
php使用imagecopymerge()函数创建半透明水印
2018/01/25 PHP
关于Yii中模型场景的一些简单介绍
2019/09/22 PHP
PHP连续签到功能实现方法详解
2019/12/04 PHP
jquery.ui.draggable中文文档
2009/11/24 Javascript
js控制的回到页面顶端goTop的代码实现
2013/03/20 Javascript
JQuery为textarea添加maxlength属性并且兼容IE
2013/04/25 Javascript
javascript将相对路径转绝对路径示例
2014/03/14 Javascript
jQuery实现统计复选框选中数量
2014/11/24 Javascript
DOM基础教程之使用DOM控制表格
2015/01/20 Javascript
js利用appendChild对标签进行排序的实现方法
2016/10/16 Javascript
简单的jQuery拖拽排序效果的实现(增强动态)
2017/02/09 Javascript
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
2017/07/17 jQuery
vue移动端下拉刷新和上拉加载的实现代码
2018/09/08 Javascript
vue中的适配px2rem示例代码
2018/11/19 Javascript
vue element自定义表单验证请求后端接口验证
2019/12/11 Javascript
vue 使用 canvas 实现手写电子签名
2020/03/06 Javascript
安装多版本Vue-CLI的实现方法
2020/03/24 Javascript
[05:11]TI9战队采访——VIRTUSPRO
2019/08/22 DOTA
爬山算法简介和Python实现实例
2014/04/26 Python
Python中函数eval和ast.literal_eval的区别详解
2017/08/10 Python
python pandas库的安装和创建
2019/01/10 Python
python使用turtle绘制国际象棋棋盘
2019/05/23 Python
django实现将后台model对象转换成json对象并传递给前端jquery
2020/03/16 Python
django的模型类管理器——数据库操作的封装详解
2020/04/01 Python
python 爬取B站原视频的实例代码
2020/09/09 Python
html5+CSS3+JS实现七夕言情功能代码
2017/08/28 HTML / CSS
"序列点" 是什么
2016/07/29 面试题
CAD制图设计师自荐信
2014/01/29 职场文书
幼儿园大班教学反思
2014/02/10 职场文书
2016社区平安家庭事迹材料
2016/02/26 职场文书
使用Pytorch实现two-head(多输出)模型的操作
2021/05/28 Python