屏幕快照 2017-02-21 下午2.17.05.png
var str="abcdef";
alert(str.substring(1,4))//彈出bcd,不包含結束位置
var str='12,87 76 -ddf e dd 89 ff76 9';
var re=/\d+/g; //若不加g,則只會輸出12;若不加+號,那么只會輸出1,2,8,7,7,6,8,9,7,6,9
alert(str.match(re));//彈出12,87,76,89,76,9
match() 方法可在字符串內檢索指定的值,或找到一個或多個正則表達式的匹配。
該方法類似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。
var str="Abcdef";
//var re=new RegExp('a','i')或
var re=/a/i;
alert(re.test(str)) //彈出true
var str="abcdef";
alert(str.search(/a/))//彈出0;
var str="dasda 5 asd 10";
var re=/\d/;
alert(str.search(re))//只會彈出6
search() 方法不執行全局匹配,它將忽略標志 g。它同時忽略 regexp 的 lastIndex 屬性,并且總是從字符串的開始進行檢索,這意味著它總是返回 stringObject 的第一個匹配的位置。
var str="asa a3333 asasa 55 66asa asa55";
var re=/\d/g;
alert(str.match(re));//返回3,3,3,3,5,5,6,6,5,5
var str="asa a3333 asasa 55 66asa asa55";
var re=/\d+/g;
alert(str.match(re));//返回3333,55,66,55
var str="acaAscac";
alert(str.replace(/a/ig,"T"));
//敏感詞過濾
oBtn.onclick=function ()
{
var re=/我們|你們|他們/g;
oTxt2.value=oTxt1.value.replace(re, '***');
};
\d digital
\w [a-z0-9]
\s space
var re=/1[abc]2/
1和2之間是a或者b或者
\D [^0-9]
\w [^a-z0-9]
\S
{n,m}最少n次,最多m次;
{n, }最少n次,最多不限
{ ,m}
{n}正好n次
+ {1,} 加號表示最少出現一次,最多不限次
郵箱:blue@miaov.com
dasdasdas_asda_2006@126.com
一串字母、數字、下劃線@一串英文、數字 . 一串英文[長度是2-4];
\w+ @[a-z0-9]+ \.[a-z]{2,4};
上面這個有bug,比如說妙味blue@miaov.com 只要一部分符合就行了;
所以要改成var re=/^\w+@[a-z0-9]+\.[a-z]{2,4}$/ 在行首行尾必須出現這個且只能出現這個
^在方括號里面是除了,在方括號以外是行首
//去掉行首行尾的空格
var str=" as asa asas sas ";
var re=/^s+|\s+&/g;
alert(str.replace(re,''));
//所有的漢字
var re=/[\u4e00-\u9fa5]/;
在正則中.有特殊含義需要轉義
QQ截圖20170220193638.png
/b單詞邊界
[...]匹配方括號中所有字符
var re=/a{3}/i //必須有連續的三個a出現的字符串;
var str="adag"; //true
var re=/(a[d-g]){2}/i; //{}表示出現的次數;
alert(re.test(str))
/[\x00-xff]g/表示單字節的