在日常开发中,咱们不免要和字符串打交道,各种各样的性能都可能用到下面的字符串函数,本文参考网上文章,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"