1. 概述
JavaScript 中會需要對字符串進行操作,比如如何判斷字符串是否爲空,計算字符串的長度,替換、查找、截取字符串,或者将字符串轉換爲其他類型等操作。
文本将介紹 JavaScript 中如何對字符串進行操作。
2. 字符串長度
2.1 返回字符串長度
1)若想獲取字符串長度,可以使用字符串對象的 length 屬性,如下返回 "hello FR" 字符的長度爲 8。
var txt= "Hello FR";
alert("字符串長度爲:"+txt.length); //返回長度
2)若需要獲取文本控件中字符串的長度,可以使用如下代碼:
var strCtl = this.options.form.getWidgetByName("控件名");
alert("字符串長度爲:"+strCtl.getText().length); //返回長度
2.2 字符串的判空
字符串爲空,即字符串長度爲 0,若要實現判空,txt.length==0 或 txt=='' 只需要滿足一個即可。如下方法:
var txt= "";
if(txt.length==0||txt=='') alert("字符串爲空"); //爲空
else alert("字符串不爲空"); //不爲空
3. 字符串的替換
字符串 stringObject 的 replace() 方法執行的是查找并替換的操作。它将在 stringObject 中查找與 regexp 相匹配的子字符串,然後用 replacement 來替換這些子串。如果 regexp 具有全局标志 g,那麽 replace() 方法将替換所有匹配的子串。否則,它只替換第一個匹配子串。
如下 JavaScript 代碼,将返回 Hello FineReport!
var txt="Visit FineReport!";
var txt2=txt.replace(/Visit/, "Hello");
alert(txt2);
4. 字符串的查找
4.1 方法一
search(regexp) 方法用於檢索字符串中指定的子字符串。
他将返回 stringObject 中第一個與 regexp 相匹配的子串的起始位置。如果沒有找到,将返回-1。
search 方法無法查找全局,只查找第一個出現的匹配字符串。
如下 JavaScript 代碼,将返回 9
var txt = "123456789abcde";
var location=txt.search("abc");
alert(location);
4.2 方法二
可以使用字符串的 search( ) 方法查找當前字符串是否包含另外一個字符串。
如下 JavaScript 代碼,返回的 i 是“D”在字符串"abcDF"中索引,爲第三個,索引從0開始。
var str="abcDF";
var i=str.search("D");
alert(i); //i将=3
5. 字符串的截取
可以用 substr(start,length) 方法來提取一個字符串中的部分内容。其中 start 是起始,提取長度爲 length 的新字符串。字符串下标從 0 開始,如果 start 爲負,則默認從頭開始提取。
如下 JavaScript 代碼,将返回 FR。
var txt="Visit FR!";
var txt2=txt.substr(6,2); //從第六個開始取兩個字符
alert(txt2);
6. 字符串的連接
可以通過字符串的 concat(str1,str2...) 方法将多個字符串連接起來
如下 JavaScript 代碼,将返回 helloFR
var str1="hello";
var str2="FR";
var str3=str1.concat(str2);
alert(str3);
7. 字符串類型轉換
7.1 将字符串轉換爲數值
可以直接用強制轉換。
如果是轉換爲浮點數,則爲 parseFloat(str)
如果轉換爲整數型,則爲 parseInt(str, radix), radix 表示要解析的數字的基數。該值介於 2 ~ 36 之間。
如果省略該參數或其值爲 0,則數字将以 10 爲基礎來解析。
如果以 “0x” 或 “0X” 開頭,将以 16 爲基數。
如果該參數小於 2 或者大於 36,則 parseInt() 将返回 NaN。
如下 JavaScript 代碼,将返回 3.14 和 15
var str1=parseFloat("314e-2"); //返回3.14
alert(str1);
var str2=parseInt("17",8);//返回 15 (8+7)
alert(str2);
7.2 将字符串轉換爲數組
可以使用字符串的 split(separate) 方法将字符串分割爲數組,separate 爲篩選字符串。
如下 JavaScript 代碼,str2 将存儲爲一個字符串數組,值分别爲"I","love","FR"
var str1="I love FR";
var str2=str1.split(" ");
alert(str2);
7.3 将字符串字母統一轉換成大寫
可以使用字符串的 toUpperCase( ) 方法将字符串中的所有字母轉換爲大寫,toUpperCase 方法對非字母字符不會産生影響。
var data="FineReport 10.0";
var newdata=data.toUpperCase(); //newdata 将轉換爲 FINEREPORT 10.0
alert(newdata);
7.4 将字符串字母統一轉換爲小寫
可以使用字符串的 toLowerCase( ) 方法将字符串中的所有字母轉換爲小寫。
var data="FineReport 10.0";
var newdata=data.toLowerCase(); //newdata 将轉換爲 finereport 10.0
alert(newdata);