javascript 字符串与正则
Posted 翊枫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 字符串与正则相关的知识,希望对你有一定的参考价值。
序:就是简单记录下正则的一些基础,还有cookie的一些设置获取删除
#字符串操作
search 查找
substring 获取子字符串 str.substring(start,stop)
charAt 获取某个字符串
split 分割字符串,获得数组
var str="adsddd"; var str1="ad-sd-dd-12-56"; console.log(str.search(‘b‘));//正常返回位置,没有找到返回-1 console.log(str.substring(0,3));//不包含最后的位置 console.log(str.charAt(1))//得到索引的值 console.log(str1.split("-"));//字符串分割成数组
#是否使用正则处理
var str="12 ff 10 fdfddf3354 122 -=-=-124fg";
//从上面找出所有的数字
//如果不用正则,需要for循环 charAt查找
var arr=[]; var tmp=‘‘; for(var i=0;i<str.length;i++){ if(str.charAt(i) >= ‘0‘ && str.charAt(i) <= ‘9‘){ tmp+=str.charAt(i); }else{ if(tmp){ arr.push(tmp) tmp=‘‘; } } }
//正则处理
alert(str.match(/d+/g))
#正则 (规则表达式)
RegExp对象
js风格-----new RegExp("a","i")//第一个参数字符串,第二个参数
perl风格--------/d/i //里面的规则
/i //不区分大小写
/g //全局寻找
^ //匹配输入字行首
+ //若干,多少都可以(一次或多次)
? //可有可无
d //数组
w //英文 数字 下划线
s // 空白字符 空格 tab
D //[^0-9]
W //[^a-z0-9_]
{n} //正好出现n次
{n,m} //最少n次,最多m次
[^] //出现方括号代表排除
d{9} //9个数字
固话正则
010-89564665
89456545
(0d{2,3}-)?[1-9]d{7}
邮箱验证
[email protected]
/^[email protected][0-9a-z]+.[a-z]+$/i
match 所有符合规则的提取出来,返回数组
search 找到符合规则的索引值
test //符合规则返回true
var str3=‘sd asdva saasd‘;
var re=/a/g;
//替换str3里的a
console.log(str3.replace(re,‘00‘));
敏感词过滤
//过滤北京,淘宝,豆瓣
var re=/北京|淘宝|豆瓣/g;
strmim1=strmim2.replace(re,‘*‘)
元字符(方括号)
[apc]px //apc就是或
//范围
[0-9] //0-9
//排除
[^a-z] //排除字母
去除html标签
//过滤html标签
var re=/<[^<>]+>/g;
strmim1=strmim2.replace(re,‘*‘)
cookie
什么是cookie
比如自动登录,记住用户名
cookie特性
同一个网站所有页面共享一套cookie
数量、大小有限(4-10k)
过期时间
js中使用cookie
document.cookie
cookie设置
//设置cookie function setCookie(cname, cvalue, exdays) { var d = new Date(); d.setTime(d.getTime() + (exdays*24*60*60*1000)); var expires = "expires="+d.toUTCString(); document.cookie = cname + "=" + cvalue + "; " + expires; } //获取cookie function getCookie(cname) { var name = cname + "="; var ca = document.cookie.split(‘;‘); for(var i=0; i<ca.length; i++) { var c = ca[i]; while (c.charAt(0)==‘ ‘) c = c.substring(1); if (c.indexOf(name) != -1) return c.substring(name.length, c.length); } return ""; } //清除cookie function clearCookie(name) { setCookie(name, "", -1); } function checkCookie() { var user = getCookie("username"); if (user != "") { alert("Welcome again " + user); } else { user = prompt("Please enter your name:", ""); if (user != "" && user != null) { setCookie("username", user, 365); } } } checkCookie();
以上是关于javascript 字符串与正则的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript中 正则表达式的使用 及 常用正则表达式