正则表达式

发布时间:2022-06-21 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了正则表达式脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

产生正则表达式的方式1. var re = new RegExp("pattern",["flags"]); // 这种方式比较好pattern :正则表达式字符串 // 注意这是字符串,里面的反斜杠("")需要连写两个来表示一个,因为会转义,如 new RegExp("\d") 匹配一个数字flags: // flags 可以多个一起使用, 如 new RegExp("\w", 'gm')g global (全文查找出现的所有 pattern)i ignoreCase (忽略大小写)m multiLine (多行查找)

2. 使用 正斜杠("/") 括起来var re = /pattern/flagspattern 和 flags 的含义跟 new RegExp 的一样。只不过,这里的 pattern 不是字符串,不会转义,所以里面的反斜杠("")不需要连写两个。如 /d/ 表示匹配一个数字这两种方式产生的正则表达式都是一样的,如 new RegExp("(f+)d+(s+)") 也可以写成: /(f+)d+(s+)/

正则表达式的常用函数:re.exec(字符串); // 返回匹配数组(下标0是整个匹配到的字符串,下标1是第1个捕获组,下标2是第2个捕获组...),没有匹配时返回 nullre.test(字符串); // 返回 true, 或者 false,表示是否匹配另外,字符串也有可运用正则表达式的:字符串.replace(正则表达式, 要替换的字符串); // 要替换的字符串里面,也可以使用 $1, $2 作为捕获组字符串.match(正则表达式); // 同 re.exec,返回匹配数组,无法匹配则返回null,[0]是匹配的整个字符串,[1]是匹配的第一个捕获组,[2]是第二个捕获组...

RegExp 的属性$1, ..., $9 捕获组,$1是匹配的第一个捕获组(即第一个用小括号括起来的内容),$2是第二个捕获组... 如:if ( new RegExp("(f+)d+(s+)").test("ddfffdddsss") ) {alert(RegExp.$1 + ", " + RegExp.$2); // 提示出: fff, sss}$_, input 返回输入的内容如: /^1((3d)|(5[036789])|(8[89]))d{8}$/.exec("13595044124"); alert(RegExp.$_); alert(RegExp.input); // 提示出: 13595044124

 

常用的正则表达式 元字符 转义符. 匹配除换行符以外的任意字符| 或符号w 匹配字母或数字或下划线 (大写的通常是小写的反义)W 匹配任意不是字母,数字,下划线的字符s 匹配任意的空白符S 匹配任意不是空白符的字符d 匹配数字D 匹配任意非数字的字符b 匹配单词的开始或结束B 匹配不是单词开头或结束的位置^ 匹配字符串的开始$ 匹配字符串的结束[^x] 匹配除了x以外的任意字符[^aeiou] 匹配除了aeiou这几个字母以外的任意字符数字 表示捕获组,要求与第几个捕获组相同常用的限定符* 重复零次或多次+ 重复一次或多次? 重复零次或一次{n} 重复n次{n,} 重复n次或更多次{n,m} 重复n到m次

常用正则表达式/^[-]?d+([.]?d*)$/ //数字/^[-]?d+$/ //整数/^[0-9a-zA-Z]{5,16}$/ //用户名(区分大小写,5-16位)/^[u4e00-u9fa5]+$/ //中文/^(w){6,20}$/; //校验密码:只能输入6-20个字母、数字、下划线//电话号码(手機號碼):像(010)88886666,022-22334455,029 1234-5678,010 3523922轉259,3523922。04-36018188/23051418 等/^([((]?0d{1,6}[)) -]?)?(d{5,30}|((d{4}[ -]){1,7}d{1,4}))([ -#((轉转]?d{1,6}[))]?)?$/;/^#?([a-f0-9]{6}|[a-f0-9]{3})$/ //十六进制值/^([a-zA-Zd_.-]+)@([a-zA-Zd]+.)+[a-zA-Zd]{2,6}$/ //电子邮箱/^(https?://)?([da-z.-]+).([a-z.]{2,6})([/w .-]*)*/?$/ //URL//下句是 IP 地址: 1.0.0.1 到 255.255.255.255,每段不能用“0”打头/^([1-9]|([1-9]d)|(1dd)|(2([0-4]d|5[0-5]))).(([d]|([1-9]d)|(1dd)|(2([0-4]d|5[0-5]))).){2}([1-9]|([1-9]d)|(1dd)|(2([0-4]d|5[0-5])))$//^<([a-z]+)([^<]+)*(?:>(.*)</1>|s+/>)$/ //HTML 标签

"str".replace(/(^s*)|(s*$)/g, ""); // 去除前后空格

//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字符串function isRegisterUserName(s) {var patrn = /^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;return !!(patrn.exec(s)); //返回匹配数组,没有匹配时返回null;所以非两次以返回boolean值}//防止SQL注入,返回true表示通过验证,返回false表示验证不通过function IsValid( oField ) {re= /select|update|delete|exec|count|'|"|=|;|>|<|%/i;$sMsg = "请您不要在参数中输入特殊字符和SQL关键字!";if ( re.test(oField.value) ) {alert( $sMsg );return false;}return true;}

脚本宝典总结

以上是脚本宝典为你收集整理的正则表达式全部内容,希望文章能够帮你解决正则表达式所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: