常用方法
屬性
- length 長度
- prototype 原型
event
- String.fromCharCode(num1[, ...[, numN]]); //通過unicode 返回字符串
- String.fromCodePoint(num1[, ...[, numN]]); // 使用 Unicode 編碼創(chuàng)建的字符串樱报。不兼容
prototype
-
切割士袄、拼接
- slice/substring(beginSlice[, endSlice]) ;//beginSlice、endSlice索引值了牛,在這個(gè)范圍內(nèi)截取字符串氨鹏,負(fù)值的話len-(index);substring取值不能為負(fù)數(shù);
- substr(start[, length]);//start欧募,在這個(gè)范圍內(nèi)截取length長度的字符串,負(fù)值的話len-(start);
- split(separator[,limit]) ;//根據(jù)separator分離字符串返回?cái)?shù)據(jù)仆抵,limit 是限制返回的最大長度length(可選);
- concat(string2, string3[, ..., stringN]);//返回原字符串加參數(shù)的拼接值
- padStart(targetLength [, padString]);//從前面拼接字符串跟继;targetLength拼接后長度,padString拼接字符串
- padEnd(targetLength [, padString]);//從后面拼接字符串镣丑;targetLength拼接后長度舔糖,padString拼接字符串
-
修改大小寫
- toLowerCase() ;//返回 字符串值轉(zhuǎn)為小寫形式;
- toUpperCase() ;//返回 字符串值轉(zhuǎn)為小寫形式;
- toLocaleLowerCase() ;//返回 字符串值轉(zhuǎn)為小寫形式;轉(zhuǎn)換規(guī)則根據(jù)任何本地化特定的大小寫映射;
- toLocaleUpperCase() ;//返回 字符串值轉(zhuǎn)為小寫形式;轉(zhuǎn)換規(guī)則根據(jù)任何本地化特定的大小寫映射;
-
查詢位置,字符串片段
- search(regexp); //如果傳入一個(gè)非正則表達(dá)式對(duì)象莺匠,則會(huì)使用 new RegExp(obj) 隱式地將其轉(zhuǎn)換為正則表達(dá)式對(duì)象金吗。返回正則表達(dá)式在字符串中首次匹配項(xiàng)的索引。否則趣竣,返回 -1摇庙。
- startsWith(searchString [, pos]); //從pos開始的開頭是否等于searchString,返回值bool;
- indexOf(searchValue[, fromIndex]); //順序在 fromIndex進(jìn)行搜索,返回調(diào)用 String 對(duì)象中第一次出現(xiàn)的指定值的索引遥缕。
- lastIndexOf(searchValue[, fromIndex]); //倒敘在 fromIndex進(jìn)行搜索,返回調(diào)用 String 對(duì)象中第一次出現(xiàn)的指定值的索引卫袒。
- includes(searchValue[, fromIndex]); //在 fromIndex進(jìn)行搜索,返回true or false。
- charAt(index);//從長度-1(length-1)范圍內(nèi),索引值對(duì)應(yīng)的字符串;index默認(rèn)值為0单匣;如果指定的 index 值超出了該范圍玛臂,則返回一個(gè)空字符串。
- charCodeAt(index);//從長度-1(length-1)范圍內(nèi),索引值對(duì)應(yīng)的字符編碼(Unicode)封孙;index默認(rèn)值為0迹冤;如果索引超出范圍,則返回 NaN虎忌。
- endsWith(searchString [, position]);//當(dāng)前字符串是否是以另外一個(gè)給定的子字符串“結(jié)尾”的,返回true,false;searchString關(guān)鍵字,position結(jié)束位置
- codePointAt(pos);//返回當(dāng)前位置的字符編碼;查詢不到返回undefined
-
消除空格
- trim();//左右全消除
- trimLeft();//左消除
- trimRight();//右消除
not be familiar with
基本不支持(prototype)
- localeCompare()
- repeat(count); //重復(fù)正整數(shù)泡徙,IE不支持
String.prototype.match(regexp)
匹配器
- regexp 當(dāng)參數(shù)是一個(gè)字符串或一個(gè)數(shù)字,它會(huì)使用new RegExp(obj)來隱式轉(zhuǎn)換成一個(gè) RegExp膜蠢。
- 一個(gè)包含了整個(gè)匹配結(jié)果以及任何括號(hào)捕獲的匹配結(jié)果的 Array 堪藐;如果沒有匹配項(xiàng)莉兰,則返回 null 。
var str1 = "NaN means not a number. Infinity contains -Infinity and +Infinity in JavaScript.",
str2 = "My grandfather is 65 years old and My grandmother is 63 years old.",
str3 = "The contract was declared null and void.";
str1.match("number"); // "number" 是字符串礁竞。返回["number"]
str1.match(NaN); // NaN的類型是number糖荒。返回["NaN"]
str1.match(Infinity); // Infinity的類型是number。返回["Infinity"]
str1.match(+Infinity); // 返回["Infinity"]
str1.match(-Infinity); // 返回["-Infinity"]
str2.match(65); // 返回["65"]
str2.match(+65); // 有正號(hào)的number模捂。返回["65"]
str3.match(null); // 返回["null"]
String.prototype.normalize([form]);
轉(zhuǎn)碼工具
- form 四種 Unicode 正規(guī)形式 "NFC", "NFD", "NFKC", 以及 "NFKD" 其中的一個(gè), 默認(rèn)值為 "NFC".
- NFC - Normalization Form Canonical Composition.
- NFD - Normalization Form Canonical Decomposition.
- NFKC - Normalization Form Compatibility Composition.
- NFKD - Normalization Form Compatibility Decomposition.
String.prototype.replace(substr|regexp, newSubStr|function);
替換工具
- regexp|substr 正則或者字符串捶朵,正則為true,則替換
- newSubStr|function 需要替換的固定的字符串或者函數(shù)的返回值
跟正則配合的比較多。比較復(fù)雜
1.替換順序
var re = /(\w+)\s(\w+)/;
var str = "John Smith";
var newstr = str.replace(re, "$2, $1");
// Smith, John
console.log(newstr);
String.prototype@@iterator
迭代器
var string = 'A\uD835\uDC68';
var strIter = string[Symbol.iterator]();
console.log(strIter.next().value); // "A"
console.log(strIter.next().value); // "\uD835\uDC68"
//************************************************************
var string = 'A\uD835\uDC68B\uD835\uDC69C\uD835\uDC6A';
for (var v of string) {
console.log(v);
}
//=> "A"
//=> "\uD835\uDC68"
//=> "B"
//=> "\uD835\uDC69"
//=> "C"
//=> "\uD835\uDC6A"