例一:将脏话替换成*
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; }}