/**
* 統計字節數,漢字佔2個字節
*
* @author Lin Chenglin 2012-11-19
* @return
*/
String.prototype.lengthOfByte = function() {
return this.replace(/[^\x00-\xff]/g, "**").length;
}
/**
* 以字節數截取字符串,若最後一個是雙字節則捨棄
*
* @param start
* 起始字節
* @param length
* 字節長度
* @author Lin Chenglin 2012-11-23
*/
String.prototype.substrOfByte = function(start, length) {
var num = 0;// 字節數
var realLength = 0;// 實際應截取的字符長度
for ( var i = start; i < this.length; i = i + 1) {
var c = this.charAt(i);
if (/[^\x00-\xff]/.test(c)) {// 若是雙字節
num = num + 2;
} else {// 若是單字節
num = num + 1;
}
if (num <= length) {
realLength = realLength + 1;// 累加一個字符的長度
} else {
break;
}
}
return this.substr(start, realLength);
}
/**
* 去除字符串的前後空字符
*
* @return
*/
String.prototype.trim = function() {
return this.replace(/(^[\s\xA0]+|[\s\xA0]+$)/g, '');
}
/**
* 字符串替換全部
*
* @param s1
* @param s2
* @return
*/
String.prototype.replaceAll = function(s1, s2) {
return this.replace(new RegExp(s1, "gm"), s2);
}
/**
* 判斷字符串是否是以str爲開頭的
*
* @param str
* @return
*/
String.prototype.startWith = function(str) {
if (str == null || str == "" || this.length == 0
|| str.length > this.length)
return false;
if (this.substr(0, str.length) == str)
return true;
else
return false;
return true;
}
javascript的String擴展
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.