历史版本12 :字符串对象 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1.描述编辑

JS中我们总是会需要对字符串进行操作,比如如何判断字符串是否为空,字符串的长度,替换,查找,截取,或者将字符串转换为其他类型等操作。

该章节我们介绍JS中如何对字符串进行操作。

2.字符串的长度编辑

2.1 返回字符串长度
若想获取字符串长度,可以使用字符串对象的length属性。例如:
var txt= "Hello FR"; alert("字符串长度为:"+txt.length); //返回长度
就会返回8。
如果需要获取文本控件中字符串的长度,可以使用如下代码:
var strCtl = this.options.form.getWidgetByName("控件名"); alert("字符串长度为:"+strCtl.getText().length); //返回长度
2.2 字符串的判空
字符串为空,即字符串长度为0,若要实现判空,可以用如下方法:
var txt= ""; if(txt.length==0||txt=='') alert("字符串为空"); //为空 else alert("字符串不为空"); //不为空
txt.length==0 或 txt=='' 只需要满足一个即可。

3.字符串的替换编辑

字符串 stringObject 的 replace() 方法执行的是查找并替换的操作。
它将在 stringObject 中查找与 regexp 相匹配的子字符串,然后用 replacement 来替换这些子串。如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。
举例说明,js代码如下:
var txt="Visit FineReport!"; var txt2=txt.replace(/Visit/, "Hello"); alert(txt2);
将返回Hello FineReport!

4.字符串的查找编辑

4.1 方法一
search(regexp) 方法用于检索字符串中指定的子字符串。
他将返回stringObject 中第一个与 regexp 相匹配的子串的起始位置。如果没有找到,将返回-1。
search方法无法查找全局,只查找第一个出现的匹配字符串。
举例说明,js代码如下:
var txt = "123456789abcde"; var location=txt.search("abc"); alert(location);
将返回9
4.2 方法二
可以使用字符串的search( )方法查找当前字符串是否包含另外一个字符串。
举例说明:
var str="abcDF"; var i=str.search("D"); alert(i); //i将=3
返回的i是“D”在字符串"abcDF"中索引,为第三个,0开始第一个!

5.字符串的截取编辑

我们可以用substr(start,length)方法来提取一个字符串中的部分内容。
其中start是起始,提取长度为length的新字符串。
举例说明,js代码如下:
var txt="Visit FR!"; var txt2=txt.substr(6,2); //从第六个开始取两个字符 alert(txt2);
上述将返回FR。
字符串下标从0开始,如果start为负,则默认从头开始提取。

6.字符串的连接编辑

可以通过字符串的concat(str1,str2...)方法将多个字符串连接起来
举例说明:
var str1="hello"; var str2="FR"; var str3=str1.concat(str2); alert(str3);
将返回helloFR

7.字符串类型转换编辑

7.1 将字符串转换为数值
可以直接用强制转换。
如果是转换为浮点数,则为parseFloat(str)
如果转换为整数型,则为parseInt(str, radix) radix表示要解析的数字的基数。该值介于 2 ~ 36 之间。
如果省略该参数或其值为 0,则数字将以 10 为基础来解析。
如果它以 “0x” 或 “0X” 开头,将以 16 为基数。
如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。
举例说明:
var str1=parseFloat("314e-2"); //返回3.14 alert(str1); var str2=parseInt("17",8); //返回 15 (8+7) alert(str2);
将返回3.14和15
7.2 将字符串转换为数组
可以使用字符串的split(separate)方法将字符串分割为数组。
separate为筛选字符串。
举例说明:
var str1="I love FR"; var str2=str1.split(" "); alert(str2);
str2将存储为一个字符串数组,值分别为"I","love","FR"
7.3 将字符串字母统一转换成大写
可以使用字符串的toUpperCase( )方法将字符串中的所有字母转换为大写。
var data="FineReport 8.0"; var newdata=data.toUpperCase(); //newdata 将转换为 FINEREPORT 8.0 alert(newdata);

说明 :toUpperCase 方法对非字母字符不会产生影响。

7.4 将字符串字母统一转换为小写

可以使用字符串的toLowerCase( )方法将字符串中的所有字母转换为小写。

举例说明:

var data="FineReport 8.0"; var newdata=data.toLowerCase(); //newdata 将转换为 finereport 8.0 alert(newdata);