1 正则表达式
RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。
方式一:RegExp对象创建
var reg = RegExp(“正则表达式”,”匹配模式”);
方式二:使用字面量创建正则表达式
var reg = /正则表达式/匹配模式;
2 修饰符
(1)i 执行对大小写不敏感的匹配。
(2)g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
3 正则表达式案例
案例一:检查输入的手机号码是否合法
/*定义手机号码注册规则
第一位:以1开头
第二位:3-9
第三至第十一位:(0-9)
最后:$
^1[3-9][0-9]{9}$
*/
//1.提示用户输入要检测手机号
var phoneStr = prompt("请输入您的手机号:");
//2.定义正则表达式(两种创建方式)
//方法一:var phoneReg = RegExp("^1[3-9][0-9]{9}$");
var phoneReg = /^1[3-9][0-9]{9}$/;
//3.重复循环,循环体内部定义终止循环条件
while(true){
if(phoneReg.test(phoneStr)){
alert("您输入的手机号码格式正确");
break;
}else{
alert("您输入的手机号码格式错误。");
phoneStr = prompt("请重新输入");
}
}
案例二:检查输入的电子邮件是否正确
/*
注册规则:
1597508175 @ qq . com
^任意字符\w{3,11} @ 任意字符\w{2,6} \. 任意字母[A-z]{3,5}$
*/
//1.提示用户输入要检测的邮箱
var emailStr = prompt("请输入您的邮箱:");
//2.定义正则表达式
var emailReg = /^\w{3,11}@\w{2,6}\.[A-z]{3,5}$/;
//3.重复循环,循环体内部定义终止循环条件
while(true){
if(emailReg.test(emailStr)){
alert("您输入的邮箱格式正确");
break;
}else{
alert("您输入的邮箱格式错误。");
phoneStr = prompt("请重新输入");
}
}
正则表达式中使用\作为转义字符:
(1). 表示.
(2)\ 表示
结论:
(1)特殊的符号,使用\作为转义字符。
(2)要在前后加上^$开头结束符,否则要检测的字符串的一部分只要满足正则表达式就成立。
(2)规则表示范围的模式:[1-10],量词表示范围的模式:{1,10}
案例三:去除用户名开头和结尾空格
/*
规则:^\s* | \s*$
*/
//1.提示用户输入信息
var userStr = prompt("请输入您的信息");
//2.定义规则
var userReg = /^\s* | \s*$/g;
//3.对字符串空格替换成空内容
var userName = userStr.replace(userReg,"");
//4.输出弹窗
alert("欢迎您:"+userName);
在调用相关方法时,要先看清使用的时哪个对象:
(1)RegExp 对象方法:
test() 用来检查一个字符串是否符合正则表达式的规则,返回boolean值。
(2)支持正则表达式的 String 对象的方法:
replace()用来替换与正则表达式匹配的子串。