在日常开发中,咱们不免要和字符串打交道,各种各样的性能都可能用到下面的字符串函数,本文参考网上文章,W3C材料,以及本人平时开发中的高频需要整顿造成,心愿可能帮到有须要的人。

本文首发于公众号:执行上下文,同步更新集体博客:执行上下文,转载请署名。前端微信群等你来哦!!

1、通过字符串函数获取字符串指定地位字符

1.1 charAt()

从某个字符串获得具体的字符,如果index的地位不在字符串中则返回空字符串
let str = 'JsCoding';// 语法demo.charAt(index)// demostr.charAt(3)   =>  'o'

1.2 charCodeAt()

和chartAt()用法相似,只不过返回的是字符串的Unicode。同理,如果index下标不在字符串中,则返回空。
let str = 'JsCoding';// 语法demo.charCodeAt(index)// demostr.charCodeAt(3)   =>  '111'

2、通过字符串函数对字符串的款式进行扭转

2.1 big

将字符串字号变大,并返回新的字符串。
let txt = 公众号:执行上下文txt.big()

2.2 small

将字符串字号变小,并返回新的字符串。
let txt = 公众号:执行上下文txt.small()

2.3 bold

将字符串字体加粗,并返回新的字符串。
let txt = 公众号:执行上下文txt.bold()

2.4 italics

将字符串设为斜体,并返回新的字符串。
let txt = 公众号:执行上下文txt.italics()

2.5 blink

将字符串设为闪动,并返回新的字符串。
let txt = 公众号:执行上下文txt.blink()

2.6 fixed

将字符串以打印机文本显示,并返回新的字符串。
let txt = 公众号:执行上下文txt.fixed()

2.7 strike

将字符串加上删除线,并返回新的字符串。
let txt = 公众号:执行上下文txt.strike()

2.8 fontcolor

设置字符串指定色彩,并返回新的字符串。
let txt = 公众号:执行上下文txt.fontcolor('Blue')

2.9 fontsize

设置字符串指定字号,并返回新的字符串。
let txt = 公众号:执行上下文txt.fontsize(22)

2.10 toLowerCase

将字符串转化为小写,并返回新的字符串。
let txt = 公众号:执行上下文txt.toLowerCase()

2.11 toUpperCase

将字符串转化为大写,并返回新的字符串。
let txt = 公众号:执行上下文txt.toUpperCase()

2.12 sub

将字符串显示为下标,并返回新的字符串。
let txt = 公众号:执行上下文txt.sub()

2.13 sup

将字符串显示为上标,并返回新的字符串。
let txt = 公众号:执行上下文txt.sup()

2.14 link

将字符串显示为链接,并返回新的字符串。
let txt = 公众号:执行上下文txt.link()

Demo戳这里查看!!!

3、判断指定字符是否呈现在字符串中,并返回其地位

3.1 indexOf()

判断指定字符首次呈现在字符串中的地位,没有则返回-1。查看形式从返回开端,下标0开始。
let str = 'JsCoding';// 语法 value => 指定字符,startindex => 指定地位开始demo.indexOf(value,startindex)// demostr.indexOf('s')   =>  1str.indexOf('s', 3)   =>  -1

3.2 lastIndexOf()

判断指定字符最初一次呈现在字符串中的地位,没有则返回-1,查看形式为从开端往前。如果指定的value值在指定地位之前,则返回的是最初一个呈现value的地位。
let str = 'JsCoding';// 语法 value => 指定字符,startindex => 指定地位开始demo.lastIndexOf(value,startindex)// demostr.lastIndexOf('s')   =>  1str.lastIndexOf('s', 3)   =>  1

留神:indexOf() 和 lastIndexOf() 都辨别大小写。

4、对字符串进行操作

4.1 replace()

用于字符串中以指定字符替换指定字符。
let str = 'JsCoding';// 语法 regexp/substr => 须要替换的文本或正则对象,replaceText => 替换的文本demo.replace(regexp/substr,replaceText)// demostr.replace(/JsCoding/, 'JsCoding:是执行上下文的微信号')   // 后果 => "JsCoding:是执行上下文的微信号"

4.2 slice()

获取字符串中的某个局部,并返回获取的局部。
let str = 'JsCoding';// 语法 start => 起始地位,end => 完结地位demot.slice(start,end)// demostr.slice(1,3)   // 后果 => "sC"

4.3 substr()

获取字符串从指定地位开始,指定长度的字符。
let str = 'JsCoding';// 语法 start => 起始地位,length => 长度demo.substr(start,length)// demostr.substr(1,3)   // 后果 => "sCo"

4.4 substring()

获取字符串指定区间的字符。
let str = 'JsCoding';// 语法 start => 起始地位必须为存在的下标,end => 完结地位能够为正数,则往前寻找。demo.substring(start,end)// demostr.substring(1,3)   // 后果 => "sC"str.substring(3,-3)   // 后果 => "JsC"如果start === end 则返回空。

4.5 split()

将字符串宰割成字符串数组。
let str = 'JsCoding';// 语法 separator => 字符串or表达式,howmany => 宰割字符串的长度。demo.split(separator,howmany)// demostr.split('' ,3)   // 后果 => ["J", "s", "C"]str.split('')   // 后果 => ["J", "s", "C", "o", "d", "i", "n", "g"]

4.6 match()

返回所有查找的关键字内容的数组。
let str = 'JsCoding';let reg = /di/ig;// 语法 searchvalue => 检索的字符串值,regexp => 匹配的RegExp对象。demo.match(searchvalue or  RegExp)// demostr.match(reg)// 后果 => ["di"]str.match('di')   // 后果 => ["di"]

留神:String 对象的办法 slice()、substring() 和 substr() (不倡议应用)都可返回字符串的指定局部。slice() 比 substring() 要灵便一些,因为它容许应用正数作为参数。slice() 与 substr() 有所不同,因为它用两个字符的地位来指定子串,而 substr() 则用字符地位和长度来指定子串。

5、其余

anchor()

用来创立HTML锚
let text = '执行上下文'text.anchor('前端公众号')// 后果:<a name="前端公众号">执行上下文</a>

6、日常小用处

6.1 将 'Coding, Js' => 'Js Coding'

var str = "Coding, Js";str.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1");// 后果"Js Coding"

6.2 将双引号变成单引号

var str = '"Js", "Coding"'str.replace(/"([^"]*)"/g, "'$1'");// 后果"'Js', 'Coding'"

6.3 将字符串第一个字母改为大写

var str = 'jjj sss ccc';zhuan = str.replace(/\b\w+\b/g, function(c){  return c.substring(0,1).toUpperCase() + c.substring(1);})// 后果"Jjj Sss Ccc"

6.4 将字符串中指定字符替换成指定字符

var str = 'ccadjlkj3kajgl2lkjalg'str.replace(/d/, '公众号:执行上下文')// 后果"cca公众号:执行上下文jlkj3kajgl2lkjalg"