-
String.fromCharCode(num1, …, numN) :返回由指定的UTF-16代码单元序列创建的字符串;String.fromCharCode() 方法不能单独获取在高代码点位上的字符;需要使用String.fromCodePoint(num1[, …[, numN]]);
String.fromCharCode(48, 49, 50); // '012'
-
String.prototype.anchor(name):创建一个name属性为name的html
<a>
标签锚点;返回值为一个html字符串var str = 'Hello World!'; document.body.innerHTML = str.anchor('greet'); // "<a name="greet">Hello World!</a>"
-
str.charAt(index):返回指定位置index处的字符;index默认为0;index超出str.length返回空字符串;
-
str.charCodeAt(index):返回指定位置index处字符对应的UTF-16编码,超出范围返回NaN;完整的代码点获取需要使用str.codePointAt();
-
str.concat(string2, string3[, …, stringN]):字符串拼接,参数可选;返回一个新字符串,不会改变原字符串;由于性能原因,强烈建议使用
+ +=
代替concat()方法; -
str.endsWith(searchString[, length]) | str.startsWith(searchString[, position]):判断str是否是以searchString结尾的;length可选,默认去str.length;返回值为布尔类型;demo来自MDN, 参考文献2
var str = "To be, or not to be, that is the question."; alert( str.endsWith("question.") ); // true alert( str.endsWith("to be") ); // false alert( str.endsWith("to be", 19) ); // true
-
str.includes(searchString[, position]):str从position位置搜索是否包含子串searchString;position可选,默认为0;方法区分大小写;返回值为布尔类型;
'Hello'.includes('hello'); // false 'Hello'.includes('Hello'); // true 'Hello'.includes('Hello', 1); // false 'Hello'.includes('Hello', 'world'); // true
-
str.indexOf(searchValue[, fromIndex]):返回String对象中第一次出现searchValue的索引值,未找到返回-1;fromIndex可选;方法区分大小写; 如果str为空字符串,fromIndex<0返回0,fromIndex<=str.length返回fromIndex,fromIndex>str.length则返回str.length;
对应有str.lastIndexOf(searchValue[, fromIndex]),其搜索顺序是从右至左;var str = 'Hello World!'; str.length; // 12 str.indexOf('', -2) // 0 str.indexOf('', 2) // 2 str.indexOf('', 12) // 12 str.indexOf('', 15) // 12
-
str.match(re):该方法接受一个正则表达式作为入参,传入非正则表达式对象时会被new RegExp(obj)隐式转换;未传参则返回一个包含空字符的数组对象;默认非全局匹配,可以传入g进行全局匹配;全局匹配时,返回所有匹配结果,不会返回捕获组,未匹配返回null;非全局匹配时,仅返回第一个匹配结果,此时数组对象具有groups(捕获组或undefined)、index(首次匹配的初始索引)、input(str字符串)属性,未匹配返回null;
如果正则表达式不包含 g 标志,str.match() 将返回与 RegExp.exec(). 相同的结果。var str = 'Hello World!'; str.match(); // ["", index: 0, input: "Hello World!", groups: undefined] str.match(/l/g); // ["l", "l", "l"] str.match(/ll/g); // ["ll"] str.match(/ll/); // ["ll", "ll", index: 2, input: "Hello World!", groups: undefined] str.match(/(l)(l)/); // ["ll", "l", "l", index: 2, input: "Hello World!", groups: undefined]
-
str.padStart(targetLength [, padStr]) | str.padEnd(targetLength [, padStr]):使用指定字符串对str进行扩展;targetLength小于str.length则返回str;padStr可选,默认为’ ',返回新字符串,不改变源字符串;
-
str.repeat(count):字符串重复方法,count非负整数;count不传返回空字符串;返回新字符串,不改变源字符串;
var str = 'abc'; str.repeat(); // '' str.repeat(0); // '' str.repeat(1); // 'abc' str.repeat(2); // 'abcabc'
-
str.replace(regexp|substr, newSubstr|callback(match, p1, p2, …, offset, string)):字符串替换函数;第一个参数接收正则表达式或字符串表示需要被替换的子串,这里传入字符串不会被隐式转换为正则表达式对象;第二个参数表示用于替换的新子串或者替换的方法;返回一个新字符串;
match匹配到的子串, p1…pn第i个捕获组,offset匹配的子串在str中的起始索引,string整个字符串;
第二个参数使用字符串形式时,通过$可以访问一些特定的字符串;符号 含义 $$ $ $& 匹配到的字符串 n 第n个捕获组 var str = 'abc12345#$*%'; var re = /([^\d]*)(\d*)([^\w]*)/; str.replace(re, '$$'); // '$' str.replace(re, '$&'); // 'abc12345#$*%' str.replace(re, '$1-$2-$3'); // "abc-12345-#$*%" str.replace(re, function (match, p1, p2, p3, offset, string) { return [p1, p2, p3].join('~') + offset; }); // "abc~12345~#$*%0"
-
str.search(regexp):接收参数为正则表达式,否则进行隐式转换;返回匹配位置的初始索引,未传参返回0;
-
str.slice(beginIndex[, endIndex]):beginIndex必选,为负时转为str.length+beginIndex,beginIndex大于等于str.length返回空字符串;endIndex可选,为负时转为str.length+endIndex;
-
str.split([separator[, limit]]):两个参数均为可选;limit用于限制返回数组的长度;使用正则表达式作为分隔符时,如果存在捕获组,捕获组结果也会出现在最终的数组中;
var str = 'You should know: No zuo, no die.'; str.split(); // ["You should know: No zuo, no die."] str.split(/n/ig); // ["You should k", "ow: ", "o zuo, ", "o die."] str.split(/(n)/ig); // ["You should k", "n", "ow: ", "N", "o zuo, ", "n", "o die."] str.split(' ', 3); // ["You", "should", "know:"] /* 字符串反转 */ str.split('').reverse().join(''); // ".eid on ,ouz oN :wonk dluohs uoY"
-
str.substr(start[, length]):start可以为正或负,但是其绝对值均应小于str.length,负值表示从字符串末尾计算,start默认值为0;length省略或undefined则截取到字符串结束,为负则取0;
var str = 'You should know: No zuo, no die.'; len = str.length; // 32 str.substr(); // "You should know: No zuo, no die." str.substr(20); // "zuo, no die." str.substr(33); // "" str.substr(-6); // "o die." str.substr(-34); // "You should know: No zuo, no die." str.substr(20, 3); // "zuo" str.substr(20, null); // "" str.substr(20, undefined); // "zuo, no die."
-
str.substring(indexStart[, indexEnd]):indexEnd可选;任一参数小于0认为是0,任一参数为NaN当做是0;任一参数大于str.length认为是str.length;indexStart>indexEnd则交换两者;indexStart=indexEnd则返回空字符串;
var str = 'substring'; str.substring(); // 'substring' str.substring(3); // 'string' str.substring(0, 3); // 'sub' str.substring(3, 0); // 'sub' str.substring(3, NaN); // 'sub' str.substring(3, 20); // 'string' str.substring(NaN, NaN); // ''
-
str.toUpperCase() | str.toLowerCase():不会改变原字符串
-
str.trim() | str.trimStart() | str.trimEnd():空字符移除方法;不会改变原字符串
var str =' Hia Hia~ '; str.trim(); // "Hia Hia~" str.trimStart(); // "Hia Hia~ " str.trimEnd(); // " Hia Hia~"
参考文献: