匹配中文字符的正则表达式: [\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
这个方法对于字符顺序有要求的字符串可能不适用。
得用正则表达式从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,’’))"
分享到:
相关推荐
本教程旨在深入浅出地讲解正则表达式的概念、语法和实际应用。 一、正则表达式基础 1.1 定义与历史 正则表达式(Regular Expression,简称RE)源于理论计算机科学,由美国数学家埃斯特利·贝尔纳德·莱斯利·格拉...
5. **Java中的正则**:书中会讲解Java如何使用Pattern和Matcher类来编译和执行正则表达式,包括compile()方法创建Pattern对象,matcher()方法获取Matcher对象,以及find()、matches()、replaceAll()等方法的使用。...
正则表达式,又称正规表示式、正规表达式或正规演算,是用于匹配字符串的强大工具。在编程和文本处理领域,它被广泛应用于数据验证、搜索与替换、模式匹配等多种任务。这本书《正则表达式宝典》无疑是你深入理解和...
平时做网站经常要用正则表达式,下面是一些讲解和例子,仅供大家参考和修改使用 =========常用正则式 IP QQ 账号 验证 邮件 身份证 电话号码等各种常用正则表达式
2. **教程**:如MDN的正则表达式教程、RegexOne的交互式教程等。 3. **参考文档**:如Perl的正则表达式手册,详尽阐述正则语法和用法。 4. **书籍**:《精通正则表达式》(Jeffrey E.F.Friedl著)是经典的正则表达式...
在本主题中,“使用正则表达式验证中文汉字输入”着重讲解如何利用正则表达式来确保用户输入的数据仅包含合法的中文汉字。 首先,我们需要了解中文汉字在计算机中的表示方式。中文字符在Unicode编码中占据着一定的...
- **书籍**:《Mastering Regular Expressions》是一本深入讲解正则表达式的经典之作。 - **编程语言支持**:大多数编程语言(如JavaScript、Python、Java)都有内置的正则表达式支持,了解各自的特点和差异有助于...
正则表达式,又称正规表示式、正规表达项或模式匹配语言,是计算机科学领域中用于处理字符串的强大工具。它能高效地进行文本搜索、替换和验证等操作,广泛应用于编程语言、文本编辑器、搜索引擎等多个场景。"精通...
本文将详细讲解如何在C#中应用正则表达式,特别是针对身份证、电话号码的验证。 首先,`Regex.IsMatch()`是.NET框架中`System.Text.RegularExpressions`命名空间下的一个方法,用于检查指定的输入字符串是否符合...
CSS(层叠样式表)是负责网页样式的语言,它的2.0版本已经非常成熟,可以实现布局、颜色、字体、背景、边框等各种视觉效果。"css2.0-zwsc.chm"可能会详细讲解选择器的使用,包括类选择器、ID选择器、元素选择器等,...
本书讲解正则表达式,这种工具能够提高工作效率,精心调校后的正则表达式只需要十多秒就能完成以前数小时才能完成的枯燥任务。正书内容讲解了正则表达式的特性和流派、匹配原理、优化原则、实用诀窍以及调校措施,并...
本资源摘要信息是关于词法分析的知识点,主要讲解了正则文法、正则式和自动机之间的相互转化。 词法分析是编译原理中的一部分,用于分析代码中的词法结构。词法分析器将源代码分割成单个的词法单元,如关键字、...
最后,书中为读者提供了进阶的资源,包括各种字符属性、POSIX字符组、选项与修饰符、正则表达式与ASCII码表等内容,并附有术语表和作者简介。 通过阅读本书,读者可以系统地学习到正则表达式的各种元素及其用法,...
最后,"ch05"可能是指某个教程或书籍的第五章,该章可能详细讲解了正则表达式的概念、语法和在C#中的应用。 综上所述,C#中的正则表达式是处理字符串的强大工具,涉及Regex类及其方法、正则表达式语法以及实际应用...
它支持多种编程范式,包括面向对象、命令式、函数式和过程式编程。Python广泛应用于Web开发、数据分析、人工智能等领域。在达内的教程中,可能会涵盖Python的基础语法,如变量、数据类型、控制结构(条件语句、循环...
虽然部分内容没有提供实际的文字内容,但基于书名和其他信息,我们可以推断出这本书主要讲解的是正则表达式的高级用法和技术要点。下面将围绕正则表达式的概念、基本语法、应用场景以及高级特性等方面进行详细介绍。...
"正则表达式.chm"可能详细讲解了正则表达式的语法、特殊字符、元字符、量词、分组、零宽断言等核心概念,以及如何在JavaScript中使用正则表达式进行匹配和替换操作。 这些CHM文件是学习Web开发的宝贵资源,通过它们...
本资源是一部难得的学习和使用正则表达式编程资料,它比较祥尽地讲解了C#编程中正则表达式每一元素的语法规范,同时有示例解说。并附有在处理日常事务时所涉及到的正则表达式描述式,方便在工作中直接应用。