转义#
假设要验证一个带小数点的数值,写法如下:
let str=12.24
// .代表除换行以外对任意字符,包括,因此要转义
// /.
/\d+\.\d+/.test(str) //true
// /d+匹配一个或多个数值
用对象创建
//注意这里传的是字符串,而不是字面量。
let reg=new RegExp("\d+\.\d+","g")
reg.test(str) //false
同样的匹配为什么字面量可以匹配但是对象不可以?
原因
console.log("/d"==="d") //true
console.log("//d"==="/d") //true
综上可得创建对象时:
//注意这里传的是字符串,而不是字面量。
let reg=new RegExp("\\d+\\.\\d+","g")
reg.test(str) //false
例子#
定义网址:
let url="https://www.iyysxz.top"
log(/https?:\/\/\w+\.\w+\.\w+/.test(url))
例子二#
假设希望用户名为开头字母,且不超过 15 位以数字结尾。
<input name="user" type="text">
<srcipt>
const ele=document.querySelector("[name='user']")
ele.addEventLisitenr("keyup",function(){
this.value.match(/^[a-z]/w{3,14}$/)
})
</srcipt>