Jex’s Note

Javascript - RegExp(正則表達式) 語法

match

example 1

str = 'aabbddeeffggiiCC';
reFee=/cc/i;                        //補上i(忽略大小寫) 才會為true
document.write(reFee.test(str));    //檢查有沒有cc,會返回 true

example 2

str = 'aabbddeeffCCggii';
reFee = new RegExp("cc","i");       //沒補上"i"會返回false , 補上"i"是true
alert(reFee.test(str));             //檢查有沒有cc,會返回true

replace

str = 'aabbccddeeffCCggiicc';
var re = new  RegExp('cc');                     // 只比對第一個結果 : aabb哈哈ddeeffCCggiicc
//var re = new  RegExp('cc','g');               // 字串為'cc'的全部比對 , 結果為 : aabb哈哈ddeeffCCggii哈哈
//var re = new  RegExp('cc','ig');              // 不分大小寫的全部比對 , 結果為 : aabb哈哈ddeeff哈哈ggii哈哈
document.write(str.replace(re,'哈哈'));

取得比對結果存進RegExp變數 :

var str = 'aabbccddeeffccggiiCC';
var re =  new RegExp(/(cc)/ig);                 //忽略大小寫及全部比對,才會為true
document.write(str.replace(re,'[$1]'));         //結果為 : aabb[cc]ddeeff[cc]ggii[CC]
var result = str.match(re);                     //結果為 cc,cc,CC
for(var item in result){
    alert(result[item]);                        //分別alert出 cc ; cc ; CC
}

format 1000000 > $ 1,000,000

"$ " + x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");

其他

處理圖片將 [img] 轉為 <img>

function con_img_code(str)
{
    var reg = new RegExp(/\[img src='((http[s]{0,1}|ftp):\/\/[a-zA-Z0-9\.\-\_\/]+\.([a-zA-Z]{2,4})(:\d+)?(\/[a-zA-Z0-9\.\-~!@#$%^&*+?:_\/=<>]*)?)']/g);
    var str2 = str.replace(reg, "<img class="width_700" src="$1">");
    str2 = str2.replace(/  /g, "&nbsp;&nbsp;");
    str2 = str2.replace(/\n/g,"<br />");
    return str2;
}

註 :

  1. 從資料庫撈出資料並且找出符合的圖片格式
  2. 取代成 <img> 並且指定 class 屬性
  3. 第5行跟第6行非必要,主要是處理空白及換行

Comments