网页设计与制作教程Web前端开发(第7版)课件:JavaScript语法基础-正则表达式.pptx
正则表达式是由普通字符(例如字符a到z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。JavaScript语法基础正则表达式
目录JavaScript程序设计基础7.1JavaScript概述7.2在HTML文档中使用JavaScript7.3数据类型7.4标识符、变量和常量7.5运算符和表达式7.6流程控制7.7函数7.8正则表达式习题7
7.8正则表达式7.8.1创建正则表达式1.用直接量语法创建格式为:varreg=/pattern/[modifiers];例如,varReg=/box/gi;
7.8正则表达式2.用构造函数创建通过RegExp()构造函数实现动态创建正则表达式。RegExp()的第2个参数是可选的。varreg=newRegExp(pattern[,modifiers])或RegExp(pattern[,modifiers])
7.8正则表达式7.8.2正则表达式的组成正则表达式=普通字符+特殊字符(元字符)
7.8正则表达式1.匹配符
7.8正则表达式例如,在“/[^0123456789]/g”正则表达式中,将会匹配除了数字以外任意的字符。varstr=012abc3de45fg6;//定义一个字符串varreg=/[^0123456789]/g;document.write(str.match(reg));//将所有符合正则的字符放进一个数组。显示a,b,c,d,e,f,g例如,定义一个“/[^0-9]/”的正则,然后在字符串str中匹配结果。varstr=01r234567x89;//定义一个字符串varreg=/[^0-9]/;//检查字符串中是否含有数字以外的字符document.write(str.search(reg));//若有数字以外的字符,则返回找到的位置;否则返回-1。显示2
7.8正则表达式2.限定符例如,定义一个“/[1-9]\d{5}/”正则,然后在字符串str中匹配结果。varstr=201411;//定义一个字符串varreg=/[1-9]\d{5}/;//中国大陆邮政编码,含有5个数字的正则document.write(str.search(reg));//若符合,则返回0;若不符合,则返回-1。显示0
7.8正则表达式3.定位符例如,定义一个年-月-日的正则“/[\d]{4}-[\d]{1,2}(-[\d]{1,2})/”,然后在字符串str中匹配结果。varstr=2020-4-15;//定义一个字符串varreg=/[\d]{4}-[\d]{1,2}(-[\d]{1,2})/;//yyyy-mm-dd或yyyy-m-d的正则document.write(reg.test(str));//若符合,则返回true;否则返回false。显示true
7.8正则表达式4.转义符在正则表达式中,如果遇到特殊符号,则必须使用转义符(反斜杠)进行转义,如()、[]、*、+、?、.(点号)、/、\、^、$等都是特殊符号。在下面的示例中,先定义一个“/[\+]/”的正则,然后在字符串str中匹配结果。例如,校验含有+、*号。varstr=123+45*290abc;//定义一个字符串varreg=/[\+]|[\*]/;//校验含有+、*号document.write(reg.test(str));//显示true
7.8正则表达式5.表达式g、i、m例如,定义一个“/[0-9]+/g”的正则,在字符串str中匹配结果。varstr=012abc3de45fg6;//定义一个字符串varreg=/[0-9]+/g;//校验所有数字,g表示通配整个字符串,无g会找到第一个匹配的字符后停止document.write(str.match(reg));//将所有符合正则的字符放进一个数组。显示012,3,45,6
7.8正则表达式7.8.3正则表达式使用的方法1.字符串方法例如,字符范围可以组合使用,以便设计更灵活的匹配模式。varstr=abc2ert4abe3abf1abg7;//字符串直接量varreg=/ab[c-g][1-7]/g;//前两个字符为ab,第三个字符为从c到g,第四个字符为1~7的任意数字document.write(str.match(reg));