JS-正则表达式

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值