`
isiqi
  • 浏览: 16065635 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

正则表达式判断实例

阅读更多
7.11 实用举例
正则表达式用于字符串处理、表单验证等场合,实用高效,这里对一些常用的表达式进行简单整理,作为读者学习正则表达式的参考。
7.11.1 普通字符匹配
下面是一些在网页编程中经常会遇到的字符匹配模式。
//匹配中文字符的正则表达式
[u4e00-u9fa5]
//匹配双字节字符(包括汉字在内)
[^x00-xff]
//计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
String.prototype.len=function(){return this.replace([^x00-xff]/g,"aa").length;}
//匹配空行的正则表达式
n[s| ]*r
//匹配HTML标记的正则表达式
/<(.*)>.*</1>|<(.*) />/
//匹配首尾空格的正则表达式
(^s*)|(s*$)
//匹配E-mail地址的正则表达式
w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
//匹配网址URL的正则表达式:
http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?
7.11.2 限制表单输入的内容
在网页编程中,经常会用到限制网页表单里的文本框输入内容的情况,下面是一些利用正则表达式来实现这种功能的示例。
//用正则表达式限制只能输入中文
onkeyup="value=value.replace(/[^u4E00-u9FA5]/g,'')"
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').rep-lace(/[^u4E00-u9FA5]/g,''))"
//用正则表达式限制只能输入全角字符
onkeyup="value=value.replace(/[^uFF00-uFFFF]/g,'')"
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').rep-lace(/[^uFF00-uFFFF]/g,''))"
//用正则表达式限制只能输入数字
onkeyup="value=value.replace(/[^d]/g,'')
"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').re-place(/[^d]/g,''))"
//用正则表达式限制只能输入数字和英文
onkeyup="value=value.replace(/[W]/g,'')
"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"
7.11.3 去除重复字符
下面的程序利用正则表达式去除字符串中重复字符,思路是使用后向引用,取出包括重复的字符,再以重复的字符建立第二个表达式,取到不重复的字符,两者串连。这个方法对于字符顺序有要求的字符串可能不适用。
var s="abacabefgeeii"
var s1=s.replace(/(.).*1/g,"$1")
var re=new RegExp("["+s1+"]","g")
var s2=s.replace(re,"")
alert(s1+s2); //结果为:abcefgi
7.11.4 从URL中提取文件名
下面的程序,使用正则表达式从URL地址中提取文件名,结果为page1。
s=http://www.9499.net/page1.htm
s=s.replace(/(.*/){0,}([^.]+).*/ig,"$2")
alert(s);
javascript中没有像vbscript那样的trim函数,可以利用这个表达式来实现。
String.prototype.trim = function()
{
return this.replace(/(^s*)|(s*$)/g, "");
}
7.11.5 匹配IP地址
下面是一个利用正则表达式匹配IP地址,并将IP地址转换成对应数值的程序。
function IP2V(ip)
{
re=/(d+).(d+).(d+).(d+)/g //匹配IP地址的正则表达式
if(re.test(ip)){
return
RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255 +RegExp.$4*1
}
else
{
throw new Error("Not a valid IP address!")
}
}
上面的程序如果不用正则表达式,直接用split()函数分解可能更简单,方法如下所示。
<script language="javascript">
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))
</script>
分享到:
评论

相关推荐

    正则表达式经典实例

    《正则表达式经典实例》讲解了基于8种常用的编程语言使用正则表达式的经典实例。书中提供了上百种可以在实战中使用的实例,以帮助读者使用正则表达式来处理数据和文本。对于如何使用正则表达式来解决性能不佳、误报...

    正则表达式使用详解及使用实例

    简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具。我们可以在几乎所有的基于UNIX系统的工具中找到正则表达式的身影,例如,vi编辑器...由此可见正则表达式在WEB应用的逻辑判断中具有举足轻重的作用。

    JAVA 正则表达式 教程

    我在一次偶然中发现了位于 java.sun.com 站点上的 Java Tutorial,也在那里看到了关于 Java 的正则表达式教程,感觉它不同于其他的正则表达式教程,文中以大量的匹配实例来进行说明。为了能让 Java 学习者能更好地...

    正则表达式的N种应用实例

    像正则表达式的一些应用,如用来判断处理字符串,像身份证号码,邮箱号等等约束,里面有详细的说明和使用实例,很适合初步接触正则表达式的人来学习

    Java正则表达式的使用实例

    Java正则表达式的使用实例Java正则表达式的使用实例;关于url、电话等字符串的判断

    微信小程序实现简单input正则表达式验证功能示例

    本文实例讲述了微信小程序实现简单input正则表达式验证功能。分享给大家供大家参考,具体如下: 1、效果展示 2、关键代码 index.wxml文件 &lt;input placeholder="输入内容" bindinput="check"&gt;&lt;/input&gt; ...

    java正则表达式实例(邮箱,车牌,密码,url,IP,身份证,车牌等等)

    正则表达式 实例

    js中判断数字 字母 中文的正则表达式 (实例).docx

    js中判断数字 字母 中文的正则表达式 (实例).docx

    js中判断数字字母中文的正则表达式(实例).pdf

    js中判断数字字母中文的正则表达式(实例).pdf

    js正则表达式测试含实例.rar

    正则表达式的使用 正则表达式实例 验证表达式的返回值 等

    c++利用deelx实现正则表达式

    c++利用deelx实现正则表达式及实例

    java基于正则表达式实现时间日期的常用判断操作实例

    主要介绍了java基于正则表达式实现时间日期的常用判断操作,简单说明了正则表达式常用元字符含义并结合实例形式分析了java基于正则表达式针对常用日期时间格式的判断操作技巧,需要的朋友可以参考下

    正则表达式

    正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界。 -或- 对正则表达式功能字符的还原,如"*"匹配它...

    多种net下日期选择方法,另附日期验证的正则表达式

    如果您想验证格式为2010/04/24,2010.04.24的日期,请参考压缩包里的“正则应用之——日期正则表达式.doc”文件。您可以根据自己的需要修改。 这个实例是在vs2008下进行的(net 3.5),如果您使用的是net 2.0,请替换...

    jquery使用正则表达式验证email地址的方法

    本文实例讲述了jquery使用正则表达式验证email地址的方法。分享给大家供大家参考。具体实现方法如下: 复制代码 代码如下:&lt;html&gt; &lt;head&gt; &lt;title&gt;jquery使用正则表达式验证email地址&lt;/title&gt;...

    MySQL使用正则表达式进行查询操作经典实例总结

    本文实例总结了MySQL使用正则表达式进行查询操作。分享给大家供大家参考,具体如下: 字符“^”匹配特定字符 SELECT * FROM fruits WHERE f_name REGEXP '^b'; 字符’$‘特定字符结尾 SELECT * FROM fruits WHERE...

    Oracle数据库正则表达式使用场景代码实例

    无论是在前端还是后台正则表达式都是一个至关重要的知识点,例如判断一个手机号码输入是否正确,如果使用Java、C或者其他语言进行字符串进行判断,也许写几十行代码都不一定能解决,而且漏洞百出,而使用正则表达式...

    C#中常用的正则表达式实例

    目前为止,许多编程语言和工具都包含对正则表达式的支持,C#也不例外,C#基础类库中包含有一个命名空间(System.Text.RegularExpressions)和一系列可以充分发挥规则表达式威力的类(Regex、Match、Group等)。...

    正则表达式实例 (包含各种验证)

    对正则表达式不熟悉的同学可以看看,里面有我们最常用的正则验证代码,像手机号、邮编、邮箱、数字……以后如果要用到的话,直接copy就ok了,方便又快捷……

    Python字符串与正则表达式学习笔记

    正则表达式3.1 正则表达式基础知识3.2 正则表达式实例 1. 数值与布尔型 数值类型 整型int 浮点型float 布尔型 True False # 查看数据类型用type() a = 1 b = 1.1 c = True d = False print(type(a),type(b),type(c)...

Global site tag (gtag.js) - Google Analytics