这包括:
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=万一