2012-11-16 52 views
1

我希望能夠做到這一點:定製的jQuery或JavaScript字符串擴展去除特殊字符

var test = "A3%2345-S63.][343\g30.1.0.45"; 
test.removeSpecialCharacters(); 

所有特殊字符,即(%,*,(,[..等)將被刪除);

test.removeSpecialCharacters("-"); 

意義所有的特殊字符將被替換爲「 - 」

我試過的,但我不認爲我做是正確的:(

jQuery.fn.removeSpecialCharacters = function (optional replaceWith) { 
    this.replace(/[^a-z0-9\s]/gi, ''); 
} 
+0

爲什麼你會使用jQuery這個? – ThiefMaster

+1

jquery元素不是字符串,你的擴展是有意義的字符串原型,而不是jQuery的擴展。 – jbabey

回答

2

絕對沒有理由爲此使用jQuery。將該函數添加到jQuery.fn將使其成爲可用於jQuery對象的方法,但您希望它用於字符串,它們是instan的String CES,所以你需要擴展String.prototype代替:

String.prototype.removeSpecialChars = function(replaceWith) { 
    return this.replace(/[^a-z0-9\s]/gi, replaceWith || ''); 
} 
+0

完美!謝謝! – ShaneKm