文章出處

正則表達式

字符串操作:

search查找字符串

1 var str='abcdefg';
2 alert(str.search('g'));    //返回要查找的字符串第一次出現的位置,沒有返回-1,返回6,從0開始

substring查找子字符串

1 var str='abcdef';
2 alert(str.substring(1,4));//從1開始獲取字符串,獲取數量為4,注意4代表前面的總和也就是abcd,結果為:bcd
3 alert(str.substring(1));//從1開始獲取字符串

charAt獲取某個字符

1 var str='abcdef';
2 alert(str.charAt(2));//獲取第三個字符

split分割字符串,獲取數組

1 var str='abc-12-u-qw';
2 var arr=str.split('-');
3 alert(arr);//只能用-符號來分割字符串

匹配字符串里面的數字

1 var str='sdf e443 fedef  55 66gg 332 dff 99';
2 var re=/\d+/g;//匹配全局的數字,+表示多個,\d表示匹配數字
3 alert(str.match(re));//match表示匹配正則表達式

字符串搜索search

1 var str='abcdef';
2 alert(str.search(/b/));//查找b的位置,返回1
1 var str='asdf 443 vczxv 55';
2 var re=/\d/;
3 alert(str.search(re));//第6個位置出現數字,返回5

獲取瀏覽器類型

 1 if(window.navigator.userAgent.search(/firefox/i)!=-1)//-1表示查找不到
 2 {
 3     alert('ff');
 4 }
 5 else if(window.navigator.userAgent.search(/chrome/i)!=-1)
 6 {
 7     alert('chrome');
 8 }
 9 else if(window.navigator.userAgent.search(/msie 9/i)!=-1)
10 {
11     alert('IE9');
12 }

replace替換字符---過濾

1 var str='abacdAef';               //去除字符串的空格
2 alert(str.replace(/a/gi, 'T'));//g代表去global全匹配,i表示忽略大小寫ignore

檢測中文

1 var str='asdfb 34 +_=45 ';
2 var re=/[\u4e00-\u9fa5]/;//這個范圍表示整個中文區間
3 alert(re.test(str));

星號過濾

1 var re=/我們|你們|他們/g;//  |表示或者
2 oTxt2.value=oTxt1.value.replace(re, '***');

字符類

  1. 任意字符 [abc]     例子:o[usb]t——obt、ost、out
1 var str='1b2 abc 1c2 ee';
2 var re=/1[abc]2/g;//[abc]里面的任何一個字符,返回結果1b2,1c2
3 //var re=/1a2|1b2|1c2/;
4 alert(str.match(re));
  1. 范圍 [a-z]、[0-9]    例子:id[0-9]——id0、id5
  2. 排除 [^a]               例子:o[^0-9]t——oat、o?t、o t
  3. 組合 [a-z0-9A-Z]

 

1 var re=/<[^<>]+>/g;//匹配<>,尖括號里面不能繼續包含尖括號
2 oTxt2.value=oTxt1.value.replace(re, '');

轉移字符

轉義字符 .(點)——任意字符

\d  表示匹配數字、\w  表示中文但是不能有特殊字符例如下劃線、\s   表示匹配空格

\D、\W、\S    和上面的恰好相反

 

什么是量詞

出現的次數 {n,m},至少出現n次,最多m次

例子:查找QQ號

1 var str='我的QQ是1240466552,你的是888888嗎?';
2 var re=/[1-9]\d{4,10}/g;//[1-9]表示第一位數字是一到九之間的數字,不能是0開頭。{4,10}后面至少是4位數到10位數
3 alert(str.match(re));

常用量詞

  • {n,} 至少n次
  • * 任意次 {0,}
  • ? 零次或一次{0,1}
  • + 一次或任意次{1,}
  • {n} 正好n次

單詞邊界:\b

 

最近在期中考試,正則表達式蠻重要的,需要深入學習。事情都安排妥當了,7.11號去北京實習,希望收獲更多,見見外面的更廣闊的世界。


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 AutoPoster 的頭像
    AutoPoster

    互聯網 - 大數據

    AutoPoster 發表在 痞客邦 留言(0) 人氣()