手机号码的正则:
以1开头,第2位可能是3、4、5、6、7、8、9中的其中一位,d{9}表示表示数字[0-9]中的其中一位总共有9位,$表示结束。手机号码总共11位。
/^1[3456789]d{9}$/
function checkPhone(){
var phone = document.getElementById('phone').value;
if(!(/^1[3456789]d{9}$/.test(phone))){
alert("手机号码有误,请重填");
return false;
}
}
或者
/^1(3|4|5|6|7|8|9)d{9}$/
function checkPhone(){
var phone = document.getElementById('phone').value;
if(!(/^1(3|4|5|6|7|8|9)d{9}$/.test(phone))){
alert("手机号码有误,请重填");
return false;
}
}
正则匹配URL参数
// https://juejin.im/search?query=typeof%20instanceof&type=all&id=1
function getUrlParam(name) {
// 获取路径?以及?之后的数据,比如:?query=typeof%20instanceof&type=all
let search = window.location.search
// 删除? ,比如:query=typeof%20instanceof&type=all
let paramss = search.substr(1)
// (^|&),表示name之前是空或者&符号
// [^&]*,表示匹配除了&字符之外的任何一个字符,*表示0次或多次
// &|$,表示以&之前结束,或者到paramss的最后
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)")
let s = paramss.match(reg)
let value = ''
if (s && s.length > 0) { // 如果正则表达式匹配到了结果
value = unescape(s[2]) // unescape:解码或者反转义
}
return value
}
console.log(getUrlParam('query'))