您好,欢迎访问三七文档
前端技术WebWeb前端技术A.正则表达式目录CONTENTSWeb前端技术正则表达式[1]webWeb前端技术•一个正则表达式是由普通字符(如a~z)以及特殊字符(称为元字符)组成的模式字符串。•该模式字符串描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。Web前端技术1、字符类代码说明示例[...]匹配方括号中字符序列的任意一个字符。其中可以使用连字符-匹配指定范围内的任意字符。/[012]/可以与0A1B2C中的字符0或1或2匹配./[0-5]/可以与a3g02gsf91dfs4中的0到5之间的任意数字字符匹配[^...]匹配方括号中字符序列未包含的任意字符。其中可以使用连字符-匹配不在指定范围内的任意字符。/[^012]/可以与0A1B2C中的除0、1、2之外的任意字符匹配,在这里匹配A或B或C/[^a-z]/可以与a3g02gsf91dfs4不在小写字母a-z之间的任意字符匹配。.匹配除了换行和回车之外的任意字符,相当于[^\r\n]\d匹配任意一个数字字符,相当于[0-9]/\d\d/可以匹配wy32k中的32\D匹配任意非数字字符,相当于[^0-9]/\D/可以匹配wy3k中的w或y或k\s匹配任意空白字符,如空格、制表符、换行符等,相当于[\t\n\x0B\f\r]/\s\d\d/可以匹配myageis20.中的20注意2前面的空格。\S匹配任意非空白符,相当于[^\t\n\x0B\f\r]/\S/可以匹配AB中的A或B\w匹配任何英文字母、数字字符以及下划线,相当于[a-zA-Z0-9_]/\w/可以匹配shdf82w09_+&^中的字母、数字、下划线Web前端技术2、量词代码说明示例?匹配前一项0次或1次/JS?/可以匹配JScript中的JS或者JavaScript中的J+匹配前一项1次或多次,但至少出现1次/JS+/可以匹配JS,也可以匹配JSSSS或者JSSSSSS,也就是说可以匹配J后面出现一个或多个S。*匹配前一项0次或者多次,也就是任意次/bo*/可以匹配b、bo、boo、boooo之类的字符串{n}匹配前一项恰好n次,其中n为非负整数/o{2}/可以匹配book中的两个o,也可以匹配booook中任意两个连续的o{n,}匹配前一项至少n次/o{2,}/不匹配home中的o,因为至少要匹配两个o。所以可以匹配good或者gooooood中的所有o{n,m}匹配前一项至少n次,但不能超过m次,其中n、m是非负整数,并且n=m在使用{n,m}时,数字与逗号之间不能有空格符/o{2,5}/可以匹配book中的两个o,也可以匹配boooook中的5个连续的oWeb前端技术3、指定匹配位置代码说明示例^匹配字符串的行开头。^必须出现在指定字符串的最前面才起作用。/^g/匹配good中的g,但不匹配bag中的g$匹配字符串的行结尾。$必须出现在指定字符串的最后面才起作用。/g$/匹配bag中的g,但不匹配good中的g\b匹配单词的边界/e\b/匹配Iloveseek中love的e,不匹配seek中的e\B匹配单词的非边界/e\B/匹配Iloveseek中seek的e,不匹配love中的eWeb前端技术4、使用选择匹配符正则表达式的选择匹配符只有一个|,使用|可以匹配指定的多个选项中的任意一项。例如/World|Dream/可以匹配OneWorldOneDream中的World或者DreamWeb前端技术5、分组分组就是使用小括号将多个单独的字符或字符类组合成子表达式,以便可以像处理一个独立的单元那样,用|、*、+或者?等来处理他们。比如/J(ava)?Script/可以匹配JavaScript,也可以匹配JScriptWeb前端技术6、通过RegExp类的构造方法创建语法格式:newRegExp(pattern[,flags])pattern:必选参数,用于指定需要进行匹配的模式字符串。flags:可选参数,用于指定正则表达式的标志信息。g:全局标志。如果设置了该标志,对于某个文本执行搜索或者替换时,将对文本中的所有匹配部分起作用,否则仅搜索或替换第一次匹配的内容。i:忽略大小写标志。m:多行标志。如果不设置这个标志,那么^只能匹配字符串的开头,$只能匹配字符串的结尾;如果设置了这个标志,那么^可以匹配多行字符串的每一行的开头,$可以匹配多行字符串的每一行的结尾。•例:varobjExp=newRegExp(\\d,g);Web前端技术2、通过正则表达式字面量创建RegExp对象正则表达式字面量由两条斜线//中间加入模式匹配字符串组成。如果还要指定标志信息,则在最后的斜线/后面加上标志信息,比如g或者i.例:varobjExp=/\d/g;Web前端技术3、使用test()方法进行模式匹配test()方法用于对一个指定的字符串执行模式匹配,如果搜索到匹配的字符,返回true,否则返回false例:varobjExp=/\d/g;objExp.test(abc);Web前端技术4、使用exec()方法进行模式匹配exec()方法返回值不是true或者false,而是当没有搜索到匹配的字符时,返回null,否则返回一个数组,这个数组的第一个元素包含与正则表达式相匹配的字符串,其他元素包含的是匹配的各个分组(用括号括起来的子表达式)•语法格式:•regExp.exec(str)Web前端技术作业•画一个表单,输入用户名,判断用户名是否为8-16位的字母。输入邮箱地址,点击按钮后判断邮箱地址的正确性。Thanks!Web前端技术人有了知识,就会具备各种分析能力,明辨是非的能力。所以我们要勤恳读书,广泛阅读,古人说“书中自有黄金屋。”通过阅读科技书籍,我们能丰富知识,培养逻辑思维能力;通过阅读文学作品,我们能提高文学鉴赏水平,培养文学情趣;通过阅读报刊,我们能增长见识,扩大自己的知识面。有许多书籍还能培养我们的道德情操,给我们巨大的精神力量,鼓舞我们前进。Web前端技术
本文标题:web前端技术8
链接地址:https://www.777doc.com/doc-3873451 .html