String 類 Attribute and methodanchor() 創建一個<a>標簽的實例,將其name屬性設置為被傳遞給此方法的字元串big() 將字元串轉換為<big>標簽的一個實例blink() 將字元串轉換為<blink>標簽的一個實例bold() 將字元串轉換為<bold>標簽的 ...
String 類 Attribute and method
anchor() 創建一個<a>標簽的實例,將其name屬性設置為被傳遞給此方法的字元串
big() 將字元串轉換為<big>標簽的一個實例
blink() 將字元串轉換為<blink>標簽的一個實例
bold() 將字元串轉換為<bold>標簽的一個實例
charAt() 返回傳遞給此方法的索引處的字元
concat() 連接被傳遞的兩個字元串返回一個新字元串。
fixed() 將字元轉換<tt> 固定的pitch字體標簽的一個實例
fontcolor() 設置一個<font>標簽實例的color屬性
fontsize() 設置一個<font>標簽實例的size屬性
fromCharCode() 返回被傳遞給此方的ISO-Latin-1數字字元
indexOf() 返回被傳遞給此方法的字元串在一個sting對象的實例中第一次出現的索引
italics() 將字元串轉換為<i>標簽的一個實例
lastIndexOf() 返回被傳遞給此方法的字元串在一個sting對象的實例中最後一次出現處的索引
link() 將字元串轉換為<a>標簽的一個實例並且用被傳遞給此方法的URL設置的herf屬性
match() 返回一個數組,此數組包含革於被傳遞給此方法的規則表達式而找到的匹配。
replace() 用被傳遞給此方法的規則表達式和替換字元串對調,用它的strin實例執行一個查找和替換。
search() 返回被傳遞給此方法的字元串中找到的匹配的索引位置。如果沒有找到字元中距離,返回-1
Slice() 返回被傳遞給此方法的開始和結束索引之間的字元串。如果傳遞一個負值,索引以被傳遞的字元串尾部作為參考。
Small() 將字元串換為<small>標簽的一個實例
Split() 返回被分割為段的字元串,這個分割由被傳遞給此方法的字元串和實例限制定義
Strike() 將字元串轉換為<strike>標簽的一個實例
Sub() 將字元串轉換為<sub>標簽的一個實例
Substr() 返回從被索引位置開始包含要返回的一定個數的字元的字元串。如果一個負值被傳遞,索引以被傳遞的字元串的尾部作為參考
substring() 返回被傳遞的開始和結束索引之間的字元
sup() 將字元串轉換為<sup>標簽的一個實例
toLowerCase() 將字元串中的所有字元轉換為小寫
toSource() 返回被傳遞的字元作為string對象的字元串表示
toString() 將被傳遞的字元作為string類型返回
toUpperCase() 將字元串中的所有字元轉換為大寫
length() 返回字元串的長度
prototype() 為程式提供一種向string對象實例添加屬性的能力
String 類的擴展:
String.prototype.ToCharArray=function(){
return this.split("");
}
//倒序
String.prototype.Reverse = function(){
return this.split("").reverse().join("");
}
//是否包含指定字元
String.prototype.IsContains = function(str){
return (this.indexOf(str) > -1) ;
}
//判斷是否為空
String.prototype.IsEmpty=function(){
return this=="";
}
//判斷是否是數字
String.prototype.IsNumeric = function(){
var tmpFloat=parseFloat(this);
if(isNaN(tmpFloat)) return false;
var tmpLen=this.length-tmpFloat.toString().length;
return tmpFloat+"0".GetSame(tmpLen)==this;
}
//判斷是否是整數
String.prototype.IsInt = function(){
if(this == "NaN") return false;
return this == parseInt(this).toString();
}
//合併多個空白為一個空白
String.prototype.resetBlank = function(){
return this.replace(/s+/g,"");
}
//除去左邊空白
String.prototype.LTrim = function(){
return this.replace(/^s+/g,"");
}
//除去右邊空白
String.prototype.RTrim = function(){
return this.replace(/s+$/g,"");
}
//除去兩邊空白
String.prototype.trim = function(){
return this.replace(/(^s+)|(s+$)/g,"");
}
//保留數字
String.prototype.getNum = function(){
return this.replace(/[^d]/g,"");
}
// 保留字母
String.prototype.getEn = function(){
return this.replace(/[^A-Za-z]/g,"");
}
// 保留中文
String.prototype.getCn = function(){
return this.replace(/[^u4e00-u9fa5uf900-ufa2d]/g,"");
}
//獲取位元組長度
String.prototype.ByteLength=function()
{
return this.replace(/[^\x00-\xff]/g,"aa").length;
}
// 從左截取指定長度的字串
String.prototype.left = function(n){
return this.slice(0,n);
}
// 從右截取指定長度的字串
String.prototype.right = function(n){
return this.slice(this.length-n);
}
// HTML編碼
String.prototype.HTMLEncode = function(){
var re = this;
var q1 = [/x26/g,/x3C/g,/x3E/g,/x20/g];
var q2 = ["&","<",">"," "];
for(var i=0;i<q1.length;i++)
re = re.replace(q1[i],q2[i]);
return re;
}
//獲取Unicode
String.prototype.Unicode = function(){
var tmpArr=[];
for (var i=0; i<this.length; i++) tmpArr.push("&#" + this.charCodeAt(i) + ";");
return tmpArr.join("");
}
//指定位置插入字元串
String.prototype.Insert=function(index,str){
return this.substring(0,index)+str+this.substr(index);
}
//複製字元串
String.prototype.Copy=function(){
if(IE) window.clipboardData.setData("text",this.toString());
}
//追加格式化後的字元串
String.prototype.AppendFormat=function(str){
var arg=arguments;
str=str.replace(/\{(\d+)\}/g,function(a,b,c)
{
if(arg[parseInt(b)+1]) return arg[parseInt(b)+1];
else return a;
});
return this+str;
}
創建一個String 對象,語法:new
String(stringValue),這個調用會將參數轉換為字元串,並作為一個String
對象。事實上任何一個字元串常量都是一個String對象,可以將其直接作為對象來使用,這和使用new
String()創建對象的區別是:typeof的返回值不同,一個是“stirng",另一個是"object".
string.indexOf(searchString,position)----從position(可選)位置開始,搜索字元串中的第一個searchSting所出現的位置並返回。例如:"hello,jack".indexOf("hello")將返回0;
"abcabc".indexOf("a",1)將返回3;
string.lastIndexOf(searchString,position)--------從position(可選)位置開始,搜索字元串中的最後一個searchString所出現的位置並返回。如:"abcabc".lastIndexOf("b")將返回4
string.charAt(pos)-------返回字元串中位置為pos的字元。例如:"abc".charAt(1)返回"b"
stirng.charCodeAt(pos)------返回字元串中位置為pos的字元代碼。對於ASCII 字元,這將返回其ASCII代碼。例如:"abc".charCodeAt(0)返回97,表示字元"a"的ASCII碼。
string.slice(start,end)--------返回字元串中起始位置為start,結束位置為end(不包括end)的子字元串
string.split(separator,linmit)------將字元串以separator作為分割符切割成多個子字元串,並將他們作為一個數組返回。linmit(可選)表示數組的最大長度,超過的部分將被捨棄。separator分隔符不被包含在任何子字元串中,如果sepatator為空字元串,則返回字元串中的字元序列組成的數組。如果split方法沒有任何參數,則返回僅包含字元串本身,僅有一個元素的數組。
string.split(separator,linmit)-------例如:"a1,b1,c1".split(",")將返回["a1","b1","c1"];
"a,b,c".split(",",2)將返回["a","b"];
"a,b,c".split("")將返回["a",",","b",",","c"];
"ab,c".split()將返回["ab,c"]
string.substr(start,length)--------返回字元串中起始位置為start,長度為length的子字元串。例如:"abcdefg".substr(1,3)將返回"bcd";
string.substring(start,end)------返回字元串中起始位置為start,結束位置為end(包括end)的子字元串。這個方法和slice方法唯一不同體現在是否包含了end位置的字元。
替換和匹配字元串
(1)replace(searchValue,replaceValue)方法
該方法將字元串中第一個出現的searchValue子字元串替換為replaceValue,並返回新的字元串。原有的字元串不受影響。
例如:var str1="aaaa";
var str2=str1.replace("a","b");
alert(str2);//輸出"baaa"
alert(str1);//輸出"aaaa"
上面代碼中可以看出,使用replace函數僅能替換一個實例。如果要替換多個實例,則需要使用正則表達式,例如str.replace(/a/g,"b")能夠將"aaaa"替換為"bbbb".
(2)match(reExp)方法
從字元串中搜索出匹配regExp正則表達式的所有子字元串,將他們作為一個數組返回。利用對象類型到布爾類型的轉換規則,還可以判斷一個字元串是否匹配regExp表示的正則表達式。
例如:var strInput=prompt("請輸入一個數字:",0);
while(!strInput.match(/\d+/)){
strInput=prompt("請輸入一個數字:",0);
}
(3)search(regExp)方法
從字元串中搜索出匹配regExp正則表達式的第一個子字元串,返回其索引位置。例如:var str="aabcabcabc";
alert(str.search(/abc/g));//顯示“1”
(4)String 對象的大小寫轉換
var str="abc";
str.toLowerCase()//轉化小寫
str.toUpperCase()//轉化大寫
(5)String 對象的連接
var str="abc";
var str2=str.concact("def","ghi");
alert(str2);//將輸出"abcdefghi"