1.描述编辑
JavaScript 中我们总是会需要对字符串进行操作,比如如何判断字符串是否为空,字符串的长度,替换,查找,截取,或者将字符串转换为其他类型等操作。
该章节我们介绍 JavaScript 中如何对字符串进行操作。
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() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。
举例说明,JavaScript 代码如下:
var txt="Visit FineReport!";
var txt2=txt.replace(/Visit/, "Hello");
alert(txt2);
将返回 Hello FineReport!
4.字符串的查找编辑
4.1 方法一
search(regexp) 方法用于检索字符串中指定的子字符串。
他将返回 stringObject 中第一个与 regexp 相匹配的子串的起始位置。如果没有找到,将返回-1。
search 方法无法查找全局,只查找第一个出现的匹配字符串。
举例说明,JavaScript 代码如下:
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 的新字符串。
举例说明,JavaScript 代码如下:
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 10.0";
var newdata=data.toUpperCase(); //newdata 将转换为 FINEREPORT 10.0
alert(newdata);
说明 :toUpperCase 方法对非字母字符不会产生影响。
7.4 将字符串字母统一转换为小写
可以使用字符串的 toLowerCase( ) 方法将字符串中的所有字母转换为小写。
举例说明:
var data="FineReport 10.0";
var newdata=data.toLowerCase(); //newdata 将转换为 finereport 10.0
alert(newdata);