正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。本贴随时会更新。
匹配中文字符的正则表达式: [\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*$)
应用: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.$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
我原来在CSDN上发贴寻求一个表达式来实现去除重复字符的方法,最终没有找到,这是我能想到的最简单的实现方法。思路是使用后向引用取出包括重复的字符,再以重复的字符建立第二个表达式,取到不重复的字符,两者串连。这个方法对于字符顺序有要求的字符串可能不适用。
得用正则表达式从URL地址中提取文件名的javascript程序,如下结果为page1
s="http://www.gzcynet/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中正则表达式实现输入内容过滤
javascript中正则表达式反向引用示例介绍.doc
javascript中正则表达式用法详解
javascript中正则表达式及匿名函数相结合的典型应用 通过一个小例子详细说明和介绍了在javascript中如何应用正则表达式,以及在什么时候下可以应用匿名函数。 并介绍了如何将这两种结合在一起。 实例代码简洁清晰,...
北风网讲javascript正则表达式,屏幕录像专家录制的,exe格式直接双击观看,js的正则表达式难吆,有老师边讲边演示可带你快速入门吆。
以下是对JS中正则表达式常用特性的详细说明: 1. **转义字符**:`\` 用于对特殊字符进行转义,如 `\b` 匹配单词边界,`\d` 匹配数字等。如果需要匹配实际的 `\` 字符,需要写成 `\\`。 2. **特殊字符恢复**:使用 ...
JAVA中正则表达式详解
Java中正则表达式使用方法详解 正则表达式是字符构成的串,定义了一个用来搜索匹配字符串的模式。 Java中的正则表达式使用方法详解将为读者提供一个详细的指南,了解正则表达式的基础知识和使用方法。 一、正则...
### 正则表达式在JavaScript中的应用 #### 一、正则表达式的概念与作用 正则表达式(Regular Expression)是一种强大的文本处理工具,在多种编程语言中都有应用,包括JavaScript。它能够帮助开发者实现对字符串的...
VBA正则表达式在Excel中使用,希望能给大家有所帮助,还有其他相关EXCEL资源,需要有的可以联系我. 谢谢.
### JavaScript中正则表达式的实际应用详解 在日常开发中,正则表达式作为一种强大的文本处理工具,在JavaScript中被广泛地应用。无论是简单的字符串验证,还是复杂的文本解析,正则表达式都能提供高效的解决方案。...
### ABAP中正则表达式的简单使用 #### 1. **匹配所有字符** 在ABAP中,可以使用`[^x00-xff]*`这样的正则表达式来匹配所有字符,其中`[^x00-xff]`表示除了ASCII控制字符之外的所有字符,而`*`则表示可以匹配任意...
### C#中正则表达式应用详解 #### 引言 正则表达式是一种强大的文本处理工具,在C#中被广泛应用于数据验证、文本搜索、替换等场景。本文将深入探讨C#中正则表达式的应用,从基本语法到高级用法,帮助读者更好地...
JAVA中正则表达式的一个简单例子.pdf
正则表达式是编程语言中的一种强大工具,用于处理字符串,尤其在数据验证、文本搜索和替换等方面。在Java中,正则表达式是通过`java.util.regex`包中的类来实现的,如`Pattern`和`Matcher`。下面将详细介绍正则...
### PHP中的正则表达式应用详解 在PHP编程中,正则表达式是一种...以上是关于PHP中正则表达式的详细解析与实际应用案例。通过学习和理解这些正则表达式,你可以更高效地处理各种文本数据,提高程序的功能性和健壮性。
java中正则表达式Pattern类的应用,基本上用来验证之类的应用
通过本文的学习,读者应该能够理解正则表达式的基本概念,掌握Python中正则表达式库re的使用,并能够将正则表达式应用到实际的文本处理问题中。 本文不仅介绍了正则表达式的使用技巧和实际应用,还讨论了性能优化和...
### 浅谈Java中正则表达式的优化方法 在日常的软件开发过程中,正则表达式作为一种强大的文本处理工具被广泛应用于数据验证、文本搜索与替换等场景之中。尤其是在Java语言环境中,`java.util.regex`包提供了丰富的...