2012年11月27日 星期二

javascript 心得 regexp replace

在範例中是將英文字母由小寫轉換成大寫

我這裡應用是將數字不分加上標籤好套用CSS


code 如下


function change(text){ return "<a class='thenumber'>"+text+"</a>";
}
// 強調數字部份 function ModifyStyleSubDescription(str){
//var str= "11ABC 22 DEF";
//match number in range 0-999
var _result = "";
var reg = /(\d+)/g; // 使用g 才抓的到第二組
_result = str.replace(reg,change);
return _result;
}


原本使用的函式,但IE8不支援....
// 強調數字部份 function ModifyStyleSubDescription(str){
var _result = "";
var reg = /(\d+)/;
var parts = str.split(reg);
for (var i = 0 ; i < parts.length ; i ++){
if(parts[i].match(reg)){
_result +="<a class='thenumber'>"+parts[i]+"</a>"
}else{
_result +=parts[i];
}
}
return _result;
}

參考:W3Cschool , http://www.w3school.com.cn/js/jsref_replace.asp


沒有留言: