这包括:
charAt
charCodeAt
concat
fromCharCode //String 类中的唯一静态函数
indexOf
lastIndexOf
length //String 类中的唯一的属性
localeCompare
slice
substr
substring
toUpperCase
toLowerCase
toLocaleUpperCase
toLocaleLowerCase
split
toString
valueOf
//下面三个函数和正则表达式密切相关, 到正则再说:
match
replace
search
//下面六个编码解码的函数是全局函数, 不属于 String 类:
escape
unescape
encodeURI
decodeURI
encodeURIComponent
decodeURIComponent
//ECMAScript 标准不再支持的字符串函数:
anchor、big、blink、bold、fixed、fontcolor、fontsize、italics、link、small、strike、sub、sup
charAt : 返回第几个字符
var str = 'ABCD';
alert(str.charAt(2)); //C
var str = new String('万一的 Delphi 博客');
alert(str.charAt(2)); //的
charCodeAt : 返回第几个字符的编码
var str = 'ABCD';
alert(str.charCodeAt(2)); //67
var str = new String('万一的 Delphi 博客');
alert(str.charCodeAt(2)); //30340
concat : 连接字符串
var s1, s2, s3, str;
s1 = '万一的'; s2 = ' Delphi '; s3 = '博客';
str = '这里是: ';
str = str.concat(s1, s2, s3);
alert(str); //这里是: 万一的 Delphi 博客
fromCharCode : 从字符编码创建一个字符串; 注意这是 String 类的静态方法, 不被对象支持, 要通过 String 类名调用; String 的静态方法只有这一个, 其他都不能这样使用.
var str;
str = String.fromCharCode(65, 66, 67, 68);
alert(str); //ABCD
str = String.fromCharCode(19975);
alert(str); //万
str = String.fromCharCode(19975,19968,30340,32,68,101,108,112,104,105,32,21338,23458);
alert(str); //万一的 Delphi 博客
indexOf : 返回子串首次出现的位置, 找不到返回 -1
var str = '万一的 Delphi 博客';
alert(str.indexOf('万')); //0
alert(str.indexOf('D')); //4
alert(str.indexOf('Delphi')); //4
alert(str.indexOf('delphi')); //-1
lastIndexOf : 返回子串最后出现的位置(从后向前找), 找不到返回 -1
var str = 'ABCABC';
alert(str.lastIndexOf('A')); //3
alert(str.lastIndexOf('C')); //5
alert(str.lastIndexOf('CAB')); //2
alert(str.lastIndexOf('cab')); //-1
length : 返回字符串长度, 它是 String 类中的唯一属性, 还是只读属性
var str = 'AB';
alert(str.length); //2
str = '万一';
alert(str.length); //2
alert('万一的 Delphi 博客'.length); //13
localeCompare : 比较字符串
var s1 = 'A', s2 = 'D';
alert(s1.localeCompare(s2)); //-1
alert(s2.localeCompare(s1)); //1
alert('Delphi'.localeCompare('Delphi')); //0
alert('Delphi'.localeCompare('delphi')); //1
slice : 截取字符串; 参数为负就倒数; 第二个参数默认到尾
var str = 'ABCDEFG';
alert(str.slice(1, 4)); //BCD
alert(str.slice(1)); //BCDEFG
alert(str.slice(1, -1)); //BCDEF
alert(str.slice(-3, -1)); //EF
substr、substring : 和 slice 类似, 它们都是提取字符串;
substr(起点位置, 长度);
substring(起点位置, 终点位置);
substring 和 slice 更相似, 但 substring 不使用负数参数.
var str = '123456', s1, s2;
s1 = str.substr(1, 4);
s2 = str.substring(1, 4);
alert(s1 + '; ' + s2); //2345; 234
s1 = str.substr(4, 1);
s2 = str.substring(4, 1);
alert(s1 + '; ' + s2); //5; 234
/*和 slice 不一样, substr 与 substring 最好都不用负数*/
s1 = str.substr(-2, 2); //同 substr(0, 2)
s2 = str.substring(-2, 2); //同 substring(0, 2)
alert(s1 + '; ' + s2); //12; 12
s1 = str.substr(0, 2);
s2 = str.substring(0, 2);
alert(s1 + '; ' + s2); //12; 12
s1 = str.substr(1, 2);
s2 = str.substring(1, 2);
alert(s1 + '; ' + s2); //23; 2
/*如果省略了第二个参数, substr 与 substring 是一样的*/
s1 = str.substr(2);
s2 = str.substring(2);
alert(s1 + '; ' + s2); //3456; 3456
toUpperCase、toLowerCase、toLocaleUpperCase、toLocaleLowerCase : 大小写转换
var str = 'Delphi';
alert(str.toUpperCase()); //DELPHI
alert(str.toLowerCase()); //delphi
alert(str.toLocaleUpperCase()); //DELPHI
alert(str.toLocaleLowerCase()); //delphi
split : 分割字符串
var str, arr;
str = 'Delphi/C++/JavaScript'
arr = str.split('/'); //将返回 ['Delphi', 'C++', 'JavaScript']
alert(arr[0]); //Delphi
/*可以限制返回数组的维数*/
arr = str.split('/', 2); //将返回 ['Delphi', 'C++']
alert(arr[1]); //C++
alert(arr[2]); //undefined (表示不存在)
/*用空格分割*/
str = 'Delphi 2009';
arr = str.split(' '); //将返回 ['Delphi', '2009']
alert(arr[1]); //2009
/*假如用空串分割*/
str = 'Delphi';
arr = str.split(''); //将返回 ['D', 'e', 'l', 'p', 'h', 'i']
alert(arr[1]); //e
/*最有意思的是它可以用正则表达式分割, 其实上个例子就是正则的理念了, 这会专题学习*/
str = 'A1B2C3D4';
arr = str.split(/\d/); //将返回 ['A', 'B', 'C', 'D']
alert(arr[1]); //B
toString、valueOf : 这两个函数用于字符串时还是返回字符串本身, 没有实用价值
var str = 'Delphi';
alert(str.toString()); //Delphi
alert(str.valueOf()); //Delphi
escape、unescape : 编码、解码; 它们(包括之后的函数)是全局函数, 不属于 String 类
var str;
str = escape('万一的 Delphi 博客');
alert(str); //%u4E07%u4E00%u7684%20Delphi%20%u535A%u5BA2
str = unescape(str);
alert(str); //万一的 Delphi 博客
encodeURI、decodeURI、encodeURIComponent、decodeURIComponent : 选择编码、解码;
encodeURI 对非 ASCII 字符编码;
encodeURIComponent 和 encodeURI 类似, 但也给 ASCII 中的特殊字符编码.
var str = 'http://del.cnblogs.com?x=万一';
str = encodeURI(str);
alert(str); //http://del.cnblogs.com?x=%E4%B8%87%E4%B8%80
str = decodeURI(str);
alert(str); //http://del.cnblogs.com?x=万一
str = encodeURIComponent(str);
alert(str); //http%3A%2F%2Fdel.cnblogs.com%3Fx%3D%E4%B8%87%E4%B8%80
str = decodeURIComponent(str);
alert(str); //http://del.cnblogs.com?x=万一