




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Javascript正则表达式完整教程校验是否全由数字组成function isDigit(s) var patrn=/0-91,20$/; if (!patrn.exec(s) return false return true 校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串 Java代码 function isRegisterUserName(s) var patrn=/a-zA-Z1(a-zA-Z0-9|._)4,19$/; if (!patrn.exec(s) return false return true 校验用户姓名:只能输入1-30个以字母开头的字串 Java代码 function isTrueName(s) var patrn=/a-zA-Z1,30$/; if (!patrn.exec(s) return false return true 校验密码:只能输入6-20个字母、数字、下划线 function isPasswd(s) var patrn=/(w)6,20$/; if (!patrn.exec(s) return false return true 校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”function isTel(s) var patrn=/+0,1(d)1,3 ?(-?(d)1,12)+$/; var patrn=/+0,1(d)1,3 ?(-?(d)| )1,12)+$/; if (!patrn.exec(s) return false return true 校验手机号码:必须以数字开头,除数字外,可含有“-”function isMobil(s) var patrn=/+0,1(d)1,3 ?(-?(d)| )1,12)+$/; if (!patrn.exec(s) return false return true 校验邮政编码function isPostalCode(s) /var patrn=/a-zA-Z0-93,12$/; var patrn=/a-zA-Z0-9 3,12$/; if (!patrn.exec(s) return false return true 校验搜索关键字function isSearch(s) var patrn=/!#$%&*()+=|:;,./?1!$%&()+=| :;,.?0,19$/; if (!patrn.exec(s) return false return true function isIP(s) /by zergling var patrn=/0-9.1,20$/; if (!patrn.exec(s) return false return true 正则表达式d+$/非负整数(正整数 + 0) 0-9*1-90-9*$/正整数 (-d+)|(0+)$/非正整数(负整数 + 0) -0-9*1-90-9*$/负整数 -?d+$/整数 d+(.d+)?$/非负浮点数(正浮点数 + 0) (0-9+.0-9*1-90-9*)|(0-9*1-90-9*.0-9+)|(0-9*1-90-9*)$正浮点数 (-d+(.d+)?)|(0+(.0+)?)$/非正浮点数(负浮点数 + 0)(-(0-9+.0-9*1-90-9*)|(0-9*1-90-9*.0-9+)|(0-9*1-90-9*)$ 负浮点数 (-?d+)(.d+)?$/浮点数A-Za-z+$/由26个英文字母组成的字符串A-Z+$/由26个英文字母的大写组成的字符串a-z+$/由26个英文字母的小写组成的字符串A-Za-z0-9+$/由数字和26个英文字母组成的字符串w+$/由数字、26个英文字母或者下划线组成的字符串w-+(.w-+)*w-+(.w-+)+$/email地址a-zA-z+:/(w+(-w+)*)(.(w+(-w+)*)*(?S*)?$/urlA-Za-z0-9_*$正则表达式使用详解简介简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具。其作用如下:测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证。替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字。根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字。基本语法在对正则表达式的功能和作用有了初步的了解之后,我们就来具体看一下正则表达式的语法格式。正则表达式的形式一般如下:/love/其中位于“/”定界符之间的部分就是将要在目标对象中进行匹配的模式。用户只要把希望查找匹配对象的模式内容放入“/”定界符之间即可。为了能够使用户更加灵活的定制模式内容,正则表达式提供了专门的“元字符”。所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式。较为常用的元字符包括: “+”, “*”,以及 “?”。“+”元字符规定其前导字符必须在目标对象中连续出现一次或多次。“*”元字符规定其前导字符必须在目标对象中出现零次或连续多次。“?”元字符规定其前导对象必须在目标对象中连续出现零次或一次。下面,就让我们来看一下正则表达式元字符的具体应用。/fo+/因为上述正则表达式中包含“+”元字符,表示可以与目标对象中的 “fool”, “fo”, 或者 “football”等在字母f后面连续出现一个或多个字母o的字符串相匹配。/eg*/因为上述正则表达式中包含“*”元字符,表示可以与目标对象中的 “easy”, “ego”, 或者 “egg”等在字母e后面连续出现零个或多个字母g的字符串相匹配。/Wil?/因为上述正则表达式中包含“?”元字符,表示可以与目标对象中的 “Win”, 或者“Wilson”,等在字母i后面连续出现零个或一个字母l的字符串相匹配。有时候不知道要匹配多少字符。为了能适应这种不确定性,正则表达式支持限定符的概念。这些限定符可以指定正则表达式的一个给定组件必须要出现多少次才能满足匹配。n n 是一个非负整数。匹配确定的 n 次。例如,o2 不能匹配 Bob 中的 o,但是能匹配 food 中的两个 o。n, n 是一个非负整数。至少匹配 n 次。例如,o2, 不能匹配 Bob 中的 o,但能匹配 foooood 中的所有 o。o1, 等价于 o+。o0, 则等价于 o*。n,m m 和 n 均为非负整数,其中n = 5.5) / 测试 JScript. 的版本。 var src = The rain in Spain falls mainly in the plain.; var re = /w+/g; / 创建正则表达式模式。 var arr; while (arr = re.exec(src) != null) document.write(arr.index + - + arr.lastIndex + arr + t); else alert(请使用 JScript. 的更新版本); 返回值:0-3The 4-8rain 9-11in 12-17Spain 18-23falls 24-30mainly 31-33in 34-37the 38-43plaintest 方法返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式。rgexp.test(str)参数rgexp必选项。包含正则表达式模式或可用标志的正则表达式对象。str必选项。要在其上测试查找的字符串。说明test 方法检查在字符串中是否存在一个模式,如果存在则返回 true,否则就返回 false。全局 RegExp 对象的属性不由 test 方法来修改。示例下面的例子举例说明了 test 方法的用法:function TestDemo(re, s) var s1; / 声明变量。 / 检查字符串是否存在正则表达式。 if (re.test(s) / 测试是否存在。 s1 = contains ; / s 包含模式。 else s1 = does not contain ; / s 不包含模式。 return( + s + + s1 + + re.source + ); / 返回字符串。 函数调用:document.write (TestDemo(/ain+/ ,The rain in Spain falls mainly in the plain.);返回值:The rain in Spain falls mainly in the plain. contains ain+match 方法使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回。stringObj.match(rgExp)参数stringObj必选项。对其进行查找的 String 对象或字符串文字。rgExp必选项。为包含正则表达式模式和可用标志的正则表达式对象。也可以是包含正则表达式模式和可用标志的变量名或字符串文字。说明如果 match 方法没有找到匹配,返回 null。如果找到匹配返回一个数组并且更新全局 RegExp 对象的属性以反映匹配结果。match 方法返回的数组有三个属性:input、index 和 lastIndex。Input 属性包含整个的被查找字符串。Index 属性包含了在整个被查找字符串中匹配的子字符串的位置。LastIndex 属性包含了最后一次匹配中最后一个字符的下一个位置。如果没有设置全局标志 (g),数组的 0 元素包含整个匹配,而第 1 到 n 元素包含了匹配中曾出现过的任一个子匹配。这相当于没有设置全局标志的 exec 方法。如果设置了全局标志,元素 0 到 n 中包含所有匹配。示例下面的示例演示了match 方法的用法:function MatchDemo() var r, re; / 声明变量。 var s = The rain in Spain falls mainly in the plain; re = /ain/i; / 创建正则表达式模式。 r = s.match(re); / 尝试匹配搜索字符串。 return(r); / 返回第一次出现 ain 的地方。 返回值:ain本示例说明带 g 标志设置的 match 方法的用法。function MatchDemo() var r, re; / 声明变量。 var s = The rain in Spain falls mainly in the plain; re = /ain/ig; / 创建正则表达式模式。 r = s.match(re); / 尝试去匹配搜索字符串。 return(r); / 返回的数组包含了所有 ain / 出现的四个匹配。 返回值:ain,ain,ain,ain上面几行代码演示了字符串文字的 match 方法的用法。var r, re = Spain; r = The rain in Spain.replace(re, Canada); return r;返回值:The rain in Canadasearch 方法返回与正则表达式查找内容匹配的第一个子字符串的位置。stringObj.search(rgExp)参数stringObj必选项。要在其上进行查找的 String 对象或字符串文字。rgExp必选项。包含正则表达式模式和可用标志的正则表达式对象。说明search 方法指明是否存在相应的匹配。如果找到一个匹配,search 方法将返回一个整数值,指明这个匹配距离字符串开始的偏移位置。如果没有找到匹配,则返回 -1。示例下面的示例演示了 search 方法的用法。function SearchDemo() var r, re; / 声明变量。 var s = The rain in Spain falls mainly in the plain.; re = /falls/i; / 创建正则表达式模式。 r = s.search(re); / 查找字符串。 return(r); / 返回 Boolean 结果。 返回值:18正则表达式语法一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。这里有一些可能会遇到的正则表达式示例:JScript. VBScript. 匹配 / t*$/ t*$ 匹配一个空白行。 /d2-d5/ d2-d5 验证一个ID 号码是否由一个2位数字,一个连字符以及一个5位数字组成。 /.*/ .* 匹配一个 HTML 标记。下表是元字符及其在正则表达式上下文中的行为的一个完整列表:字符 描述 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 后向引用、或一个八进制转义符。例如,n 匹配字符 n。n 匹配一个换行符。序列 匹配 而 ( 则匹配 (。 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性, 也匹配n 或 r 之后的位置。$ 匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性,$ 也匹配 n 或 r 之前的位置。* 匹配前面的子表达式零次或多次。例如,zo* 能匹配 z 以及 zoo。 * 等价于0,。+ 匹配前面的子表达式一次或多次。例如,zo+ 能匹配 zo 以及 zoo,但不能匹配 z。+ 等价于 1,。? 匹配前面的子表达式零次或一次。例如,do(es)? 可以匹配 do 或 does 中的do 。? 等价于 0,1。n n 是一个非负整数。匹配确定的 n 次。例如,o2 不能匹配 Bob 中的 o,但是能匹配 food 中的两个 o。n, n 是一个非负整数。至少匹配n 次。例如,o2, 不能匹配 Bob 中的 o,但能匹配 foooood 中的所有 o。o1, 等价于 o+。o0, 则等价于 o*。n,m m 和 n 均为非负整数,其中n = m。最少匹配 n 次且最多匹配 m 次。刘, o1,3 将匹配 fooooood 中的前三个 o。o0,1 等价于 o?。请注意在逗号和两个数之间不能有空格。? 当该字符紧跟在任何一个其他限制符 (*, +, ?, n, n, n,m) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串 oooo,o+? 将匹配单个 o,而 o+ 将匹配所有 o。. 匹配除 n 之外的任何单个字符。要匹配包括 n 在内的任何字符,请使用象 .n 的模式。(pattern) 匹配pattern 并获取这一匹配。所获取的匹配可以从产生的 Matches 集合得到,在VBScript. 中使用 SubMatches 集合,在JScript. 中则使用 $0$9 属性。要匹配圆括号字符,请使用 ( 或 )。(?:pattern) 匹配 pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用 或 字符 (|) 来组合一个模式的各个部分是很有用。例如, industr(?:y|ies) 就是一个比 industry|industries 更简略的表达式。(?=pattern) 正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如, Windows (?=95|98|NT|2000) 能匹配 Windows 2000 中的 Windows ,但不能匹配 Windows 3.1 中的 Windows。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。(?!pattern) 负向预查,在任何不匹配Negative lookahead matches the search string at any point where a string not matching pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如Windows (?!95|98|NT|2000) 能匹配 Windows 3.1 中的 Windows,但不能匹配 Windows 2000 中的 Windows。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始x|y 匹配 x 或 y。例如,z|food 能匹配 z 或 food。(z|f)ood 则匹配 zood 或 food。xyz 字符集合。匹配所包含的任意一个字符。例如, abc 可以匹配 plain 中的 a。xyz 负值字符集合。匹配未包含的任意字符。例如, abc 可以匹配 plain 中的p。a-z 字符范围。匹配指定范围内的任意字符。例如,a-z 可以匹配 a 到 z 范围内的任意小写字母字符。a-z 负值字符范围。匹配任何不在指定范围内的任意字符。例如,a-z 可以匹配任何不在 a 到 z 范围内的任意字符。b 匹配一个单词边界,也就是指单词和空格间的位置。例如, erb 可以匹配never 中的 er,但不能匹配 verb 中的 er。B 匹配非单词边界。erB 能匹配 verb 中的 er,但不能匹配 never 中的 er。cx 匹配由x指明的控制字符。例如, cM 匹配一个 Control-M 或回车符。 x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 c 字符。d 匹配一个数字字符。等价于 0-9。D 匹配一个非数字字符。等价于 0-9。f 匹配一个换页符。等价于 x0c 和 cL。n 匹配一个换行符。等价于 x0a 和 cJ。r 匹配一个回车符。等价于 x0d 和 cM。s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 fnrtv。S 匹配任何非空白字符。等价于 fnrtv。t 匹配一个制表符。等价于 x09 和 cI。v 匹配一个垂直制表符。等价于 x0b 和 cK。w 匹配包括下划线的任何单词字符。等价于A-Za-z0-9_。W 匹配任何非单词字符。等价于 A-Za-z0-9_。xn 匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如, x41 匹配 A。x041 则等价于 x04 & 1。正则表达式中可以使用 ASCII 编码。.num 匹配 num,其中 num 是一个正整数。对所获取的匹配的引用。例如,(.)1 匹配两个连续的相同字符。n 标识一个八进制转义值或一个后向引用。如果 n 之
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025个人教育贷款合同范本(标准)
- 高二班主任工作方案总结模板
- 幼师小班个人工作方案模板
- 临床补钾原则相关试题2025新版
- 绿色能源采购承诺书:可再生汽油资源采购合同
- 特惠促销活动策划方案模板
- 公开课活动方案
- 大学地球日的策划方案
- 附录-U系统基于Sinfor DLAN VPN远程应用方案
- 中班排队课件
- 西安纪检监察试题及答案
- 遵义市社区工作者招聘真题2024
- 机械电子工程考试试题及答案
- 2025-2030晶圆贴片机行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 样品打样合同协议
- 构建中药材种植标准化模式
- 2023年荆门市城市建设投资控股集团有限公司人才招聘【23人】笔试参考题库附带答案详解
- 《2025年危险化学品企业安全生产执法检查重点事项指导目录》解读与培训
- (2025)中国汉字听写大赛全部试题库及答案
- 2025年03月四川成都农业科技中心公开招聘笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 能源管理规定
评论
0/150
提交评论