1、使用方式
let str = 1234;
let reg = /^[0-9]{4}$/;
let r = reg.test(str);
console.log(r); //true
2、pattern书写规则
3、元字符
4、量词
5、应用
(1)检测是否带小数
let reg = /^\d+\.\d+$/
(2)检测校验是否由中文名称组成
let reg=/^[\u4E00\u9FA5]{2,4}$/
(3)校验是否全由
8
位数字组成
let reg=/^[0-9]{8}$/
(4)校验电话码格式
let reg= /^( (0\d{2,3}\d{7,8}) | (1[3584]\d{9}))$/
(5)检测身份证格式
let reg =/^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
(6)检测邮箱地址格式
let reg = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
(7)检测经度格式
let reg = /^[\-\+]?(0(\.\d{1,10})?|([1-9](\d)?)(\.\d{1,10})?|1[0-7]\d{1}(\.\d{1,10})?|180(\.0{1,10})?)$/;
(8)检测纬度格式
let reg = /^[\-\+]?((0|([1-8]\d?))(\.\d{1,10})?|90(\.0{1,10})?)$/;
(9)车牌号格式
let reg = /^[川渝京沪粤浙苏鲁陕晋冀豫辽吉皖鄂湘赣闽甘宁蒙津贵云桂琼青新藏黑使]{1}[A-Z]{1}(([0-9a-zA-Z]{5,6})|([0-9a-zA-Z]{4}[学挂领港澳警]{1}))$/;
(10)去除字符串两侧空格
let str = " asd1 ";
//方法一
str = str.replace(/^\s*|\s*$/g,"");
//方法二
str = str.trim();
(11)去除字符串所有空格
let str = " as d1 ";
str = str.replace(/\s/g,"");
(12)特殊字符校验
<el-input v-model="form.name" placeholder="请输入" :maxlength="16" @input="handleCharactersValid" />
// 特殊字符校验
handleCharactersValid() {
let reg = /[`~!@#$%^&*()_+<>?:"{},.\/;'[\]·!#¥(——):;“”‘、,|《。》?、【】\\]/g
this.form.name = this.form.name.replace(reg,'');
}
6、test、match、search区别
(1)test:reg.test(str) 找到返回true,否则false 找到第一个后就会停止向后找;
(2)match:str.match(reg) 不匹配返回null ,匹配到就返回对应的数组;
(3)search:str.search(reg) 匹配成功返回对应得位置,不成功返回 -1;
let str = 'helloworld';
let reg1 = /e/;
let demo1 = reg1.test(str); //true
let reg2 = /l/g;
let demo2 = str.match(reg2); //["l", "l", "l"]
let reg3 = /l/;
let demo3 = str.search(reg3); //2