作者:阿赖 (Email: A at Lai.com.cn 主页:http://www.9499.net Blog: http://blog.csdn.net/laily/ )
关键字:正则表达式 模式匹配 Javascript
摘要:收集一些常用的正则表达式。
正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。本贴随时会更新。
匹配中文字符的正则表达式: [\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*$)
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.$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函数来分解可能更简单,程序如下:
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(/(.).*\1/g,"$1")
var re=new RegExp("["+s1+"]","g")
var s2=s.replace(re,"")
alert(s1+s2) //结果为:abcefgi
===============================
如果var s = "abacabefggeeii"
结果就不对了,结果为:abeicfgg
正则表达式的能力有限
我原来在CSDN上发贴寻求一个表达式来实现去除重复字符的方法,最终没有找到,这是我能想到的最简单的实现方法。思路是使用后向引用取出包括重复的字符,再以重复的字符建立第二个表达式,取到不重复的字符,两者串连。这个方法对于字符顺序有要求的字符串可能不适用。
得用正则表达式从URL地址中提取文件名的javascript程序,如下结果为page1
s="http://www.9499.net/page1.htm"
s=s.replace(/(.*\/){0,}([^\.]+).*/ig,"$2")
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,''))"
应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现
分享到:
相关推荐
3. **保存与收藏**:用户可以保存常用的正则表达式,方便日后重复使用,这极大地提高了工作效率。 4. **内置正则表达式库**:为了方便用户,许多测试工具会内置一些常见的正则表达式模式,用户可以直接选用,无需...
根据给定的文件标题、描述、标签以及部分内容,本文将深入解析JavaScript中的经典正则表达式,这些表达式被广泛应用于各种应用场景,如字符串验证、数据处理等。以下是对几个关键正则表达式的详细说明: ### 1. ...
6. 存储与导入:用户可能需要保存常用的正则表达式,软件可能有收藏夹功能,允许用户保存和导入导出正则表达式。 7. 教程与示例:为了帮助初学者,软件可能包含正则表达式的入门教程和常见应用场景的示例。 8. ...
正则表达式 (经典收藏) 高效正则表达式 正则表入门 正则表教程
各类正则表达式收藏只能输入数字:“^[0-9]*$” 只能输入n位的数字:“^d{n}$” 只能输入至少n位数字:“^d{n,}$” 只能输入m-n位的数字:“^d{m,n}$” 只能输入零和非零开头的数字:“^(0|[1-9][0-9]*)$”。...
本程序实现了对正则表达式的验证、收藏、备注修改、对界面皮肤的切换、导出Excal、导出文本文件、打开所有类型的文件...等功能。在系统中你可以很快的搜索到你要的正则表达式,系统还实现了自动提醒收藏的功能。 ...
### 经典正则表达式知识点详解 #### 一、正则表达式的概念与作用 正则表达式是一种强大的文本模式匹配工具,在多种编程语言中都有广泛应用,主要用于字符串的搜索和替换操作。它可以帮助开发者快速地查找、替换或...
正则表达式测试工具,美观功能强大! 1、可作为文本编辑器,...4、支持正则表达式的历史记录与收藏,如百度搜索自动显现 5、靠边隐藏 详情见博文:https://blog.csdn.net/weixin_44182128/article/details/122676797
正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和提取字符串模式。在C#编程语言中,正则表达式是通过`System.Text.RegularExpressions`命名空间中的类来实现的,尤其是`Regex`类。这篇文章将深入探讨C#...
电子版《精通正则表达式》精通正则表达式.pdf解压后5.78M。 正则表达式,不用介绍了吧,作为开发者的你掌握了吗? <br>将自己收藏的精通正则表达式.pdf与大家分享下载使用 勇往直前:http://forward8.cn
在"TCL语言版收藏.doc"这个文档中,可能会详细讲解上述各种概念,并给出丰富的示例来帮助理解如何在TCL中编写和使用正则表达式。学习TCL的正则表达式,不仅可以提升文本处理的效率,还能为解决复杂的数据分析和自动...
正则表达式(Regular Expression,简称regex)是用于在文本字符串中进行模式匹配的一种语言,它在编程、网站开发、数据分析等领域中具有广泛的应用。这个压缩包“最全的正则表达式集合”包含了丰富的正则表达式示例...
正则表达式则是JavaScript中的一个重要工具,用于处理字符串的模式匹配和查找。在这个“JavaScript手册及正则表达式详解”中,我们将深入探讨这两个关键主题。 一、JavaScript基础 JavaScript是一种解释型、弱类型...
《掌控正则表达式:第三版》是一本深入探讨正则表达式的经典著作,由 Jeffrey B. Friedl 编写,O'Reilly 出版社出版。本书旨在帮助读者理解和掌握正则表达式的强大功能,提高编程效率。通过本书的学习,读者可以了解...
关于正则表达式一个ppt课件,适合初学者,介绍的很详细,欢迎收藏
正则表达式是用于在文本中查找、替换或验证模式的强大工具,广泛应用于编程语言、文本处理和数据分析。以下是一些常见的正则表达式模式,以及它们在不同场景下的应用: 1. 数字匹配: - `^\d+$`:匹配非负整数(正...
正则表达式小工具源码 程序介绍: 程序为学习过程编写的验证正则表达是的小工具。通过程序可以 学习到如何使用.NET中的正则表达式类,还可以熟悉Winform基本 编程。使用xml文件保存收藏信息,通过程序可以清楚...
10. **模板和收藏**:用户可以保存常用的正则表达式模板,便于日后快速调用,提高工作效率。 综上所述,RegexBuddy作为一款优秀的正则表达式工具,通过其强大的功能和友好的用户界面,极大地简化了正则表达式的学习...