例一:将脏话替换成*
var str ="我去,我草,你这游戏打的太牛逼了";
// 脏话 **;
var reg = /[去草]|牛逼/g
console.log(str.replace(reg,"*"))
例二:超链接
/* \转义字符 遇到一些特殊的字符需要处理,可以在前面加上转义字符 */
var str = "https://www.baidu.com"
var s = "http://www.baidu.com"
var reg = /(https|http):\/\/[w]{3}\.baidu\.com/;
// console.log(reg.test(s))
// 电话号码的正则
/*
18xxxxxx 11
13xxxx
17xxxx
15
14
第一位 1
第二位 [3-9]
\d{9}
*/
/*
bug:数值过多,超过我们界定的规则,还是true
*/
// var reg = /1[3-9]\d{9}/;
/* 严格匹配 ^reg$ */
var reg = /^1[3-9]\d{9}$/;
var str = "13971181102";
console.log(reg.test(str))
例三:替换空格为空
var str = " hello ";
var reg = /^\s+|\s+$/g;
var arr = [];
var res = str.replace(reg,"");
arr.push(res);
console.log(arr);
例四:使用trim()取出字符串前后空格
/* trim()去除字符串前后的空格
/^\s+|\s+$/g 面试题
*/
var str = " hello ";
var arr = [];
arr.push(str.trim());
console.log(arr);
例五:过滤标签
/* 过滤标签*/
var str = "<p>我是</p>。<div>是</div>"
var reg =/<[^<>]+>/g;
console.log(str.replace(reg,""));
例五:邮箱验证
var email = document.getElementById("email");
email.onkeyup = function(event){
if(event.keyCode == 13){
var value = this.value.trim();
var reg = /^[\w]+@[0-9a-z]+\.[a-z]+$/;
console.log(reg.test(value));
}
}
例六:提取内容
<p id="app">
导演: 弗兰克·德拉邦特 Frank Darabont 主演: 蒂姆·罗宾斯 Tim Robbins /...<br>
1994 / 美国 / 犯罪 剧情
</p>
<script>
// var arr = [1994,"美国","犯罪 剧情"]
/* 1.获取内容,去除字符串前后尾的空格 */
var txt = document.getElementById("app").innerHTML.trim();
/* 2. 通过<br>标签分割字符串为数组,得到数组最后一项,去除前后位空格
3. 通过/分割字符为数组
*/
var arr = txt.split("<br>")[1].trim().split("/");
/* 4.去除数组中每一项 */
var reg = / /g
var res = arr.map(item=>item= item.replace(reg,""));
console.log(res)
</script>
例六:判断是否为数组对象
function setStorage(key,value){
if(value instanceof Array || typeof value == "object"){
localStorage.setItem(key,JSON.stringify(value));
}else{
localStorage.setItem(key,value)
}
}
function getStorage(key){
let value = localStorage.getItem(key);
var reg = /^[{\[].+[}\]]$/
if(reg.test(value)){
return JSON.parse(value);
}else{
return value;
}
}