正则表达式

    科技2022-07-10  93

    正则创建方式

    var reg=new RegExp('要匹配的元素','修饰符') var reg=//; alert(typeof reg) Object

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> <script type="text/javascript"> // 1:通过new关键字创建 // var reg=new RegExp() // 2:字面量的创建 var reg=/a/; alert(typeof reg)//object </script> </html>

    正则的方法

    test() input框里的值通过test方法去匹配一个正则,匹配成功返回true否则返回false。 exec()

    字符串的方法

    字符串对象调用的函数(支持正则) 1. search():搜索,返回第一次搜索到的元素的下标,找不到返回-1 2. match():匹配,返回匹配成功的字符串,组成的数组,未匹配成功则返回null,以数组的形式返回结果 match函数既可以匹配普通字符串,也可以匹配正则表达式所表示的字符串 3. replace():替换:既可以替换普通字符串,也可以替换正则表达式所表示的字符串,对全局g敏感 4. split():分割:把字符串按指定参数进行拆分,返回拆分后形成的数组,对全局g不敏感

    焦点方法

    onblur 失去焦点 onfocus 获得焦点

    元字符

    \d:数字字符’0’~‘9’ \D:非数字字符 \w:数字、字母、下划线字符:即单词字符 \W:非单词字符 \s:空格字符 \S:非空格字符 \b:单词边界(匹配的只是一个位置 这个位置的一侧是构成单词的字符 另一侧为非单词字符 字符串的开始和结束位置) \B:非单词边界 .:表示任意单个字符,除了换行 \n和空引号是false

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> <script type="text/javascript"> // var reg=/\d/; // var str='1212314234364756'; // alert(reg.test(str)) // var reg=/\d/; // var str='wwwwwwwww'; // alert(reg.test(str)) // var reg=/\d/; // var str='www1'; // alert(reg.test(str)) // var reg=/\D/; // var str='erterte呜呜呜呜1'; // alert(reg.test(str)) // var reg=/\w/; // var str='哈哈哈哈1w'; // alert(reg.test(str)) // var reg=/\W/; // var str='哈哈哈哈1w'; // alert(reg.test(str)) // var reg=/\s/; // var str=''; // alert(reg.test(str)) // var reg=/\s/; // var str=' 1 2 3 4'; // alert(reg.test(str)) // var reg=/\S/; // var str=''; // alert(reg.test(str)) // var reg=/\S/; // var str=' 1 '; // alert(reg.test(str)) // var reg=/./; // var str=''; // alert(reg.test(str)) // var reg=/./; // var str='\n'; // alert(reg.test(str)) // var reg=/./; // var str='@!-=+)'; // alert(reg.test(str)) </script> </html>

    中括号/方括号:某个指定范围的若干字符 [abcde]:匹配这个集合中的任何一个字符,其中之一 [^abcdef]:不匹配这个集合中的任何一个字符 ^[abcdef]:匹配这个集合中的任何一个字符(这个字符必须开头) [0-9]:任意一个数字字符’0’~‘9’ [a-z]:任意一个小字字母 [A-Z]:任意一个大字字母 [A-z]:任意一个字母(包括大小写及部分标点[]_^)[选项1 | 选项2 | 选项3]`:三个选项其中之一

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> <script type="text/javascript"> // var reg=/[asdf]/; // var str='qwerta'; // alert(reg.test(str)) // var reg=/[^asdf]/; // var str='as1'; // alert(reg.test(str)) // var reg=/^[asdf]/; // var str='123as1'; // alert(reg.test(str)) // var reg=/[0-9]/; // var str='as1'; // alert(reg.test(str)) // var reg=/[A-Z]/; // var str='asA1'; // alert(reg.test(str)) // var reg=/[a-z]/; // var str='asA1'; // alert(reg.test(str)) // var reg=/[A-z]/; // var str='asA1'; // alert(reg.test(str)) // var reg=/[A-C|a-c|1-3]/; // var str='5617'; // alert(reg.test(str)) </script> </html>

    量词:c表示字符串,m和n表示个数

    c+:表示c的个数至少1个 c*:表示c的个数至少0个 c?:表示c的个数是0个或者1个 c{m}:表示c的个数是m个 c{m,n}:表示c的个数是m个~n个范围内 c{m,}:表示c的个数至少m个 c$:表示以c结尾的字符串 ^c:表示以c开头的字符串 0(?=c):表示0后紧跟c的字符串 XXX(?!c):表示XXX其后没有紧跟c的字符串

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> <script type="text/javascript"> // var reg=/c+/; // var str='asA1c'; // alert(reg.test(str)) // var reg=/c+/; // var str='asA1ccccccccc'; // alert(reg.test(str)) // var reg=/c*/; // var str='asdccc'; // alert(reg.test(str)) // var reg=/c?/; // var str='asdcccc'; // alert(reg.test(str)) // var reg=/c{5}/; // var str='asdcccccccccc'; // alert(reg.test(str)) // var reg=/c{5}/; // var str='cacscdcc';//懒人机制 // alert(reg.test(str)) // var reg=/c{5,}/; // var str='cacscdcccccc'; // alert(reg.test(str)) // var reg=/c{5,7}/; // var str='cacscdccccccc'; // alert(reg.test(str)) // var reg=/c(?=a)/; // var str='cacscdcccccc'; // alert(reg.test(str)) // var reg=/c(?!a)/; // var str='cacscdcccccc'; // alert(reg.test(str)) </script> </html>

    修饰符

    i:检索时不区分大小写 g: 执行全局检索(检索时,会查找所有匹配的字符串,并不是找到一个就结束查找)在调用特定函数时有效 m:执行多行匹配 加^和$符效果明显

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> <script type="text/javascript"> // var reg=/[a-z]/i; // var str='ASDFGH'; // alert(reg.test(str)) // var reg=/O/g; // var str='I LOVE YOU BUT YOU DON,T LOVE ME'; // alert(reg.exec(str)) // var reg=/^[abc]/m; // var str='12345\nabc'; // alert(reg.test(str)) // alert(str) </script> </html>

    数字验证 var reg=/^[0-9]{6,10}$/g; 汉字验证 /^[\u4e00-\u9fa5]{2,5}$/

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> <script type="text/javascript"> // var reg=/n/; // var str='henanhebeihedonghexi'; // alert(str.search(reg)) // var reg=/he/g; // var str='henanhebeihedonghexi'; // alert(str.match(reg)) // var reg=/he/g; // var str='henanhebeihedonghexi'; // document.write(str.replace(reg,'HE')) // var str='henanhebeihedonghexi'; // document.write(str.replace(/he/g,'HE')) // var reg=/he/; // var str='henanhebeihedonghexi'; // document.write(str.split(reg)) </script> </html>
    Processed: 0.021, SQL: 8