首页 > 代码库 > JavaScript 字符串对象的常用处理
JavaScript 字符串对象的常用处理
在前端开发中,我们常常面临着各种操作,各种处理,其中字符串处理就是所用非常之高的,有的开发人员甚至会将其他的数据类型转成字符串数据类型,进行操作后,在转回去,这样做有好处,也有坏处,那现在就看下,字符串都有哪些处理方式,有说错的地方欢迎大家指正
string对象属性
length
定义:length 属性可返回字符串的字符长度
console.log("asdasd".length) //6
constructor
定义:对创建该对象的函数的引用,是不是不明白,就是返回创建这个对象的函数,字符串一般就是返回String()函数
console.log("asd123".constructor) //function String()
prototype
prototype在W3Schol上的定义是:允许您向对象添加属性和方法,然而,string对象有这个属性吗,貌似没有,貌似只有函数才能调用这个属性,其他的对象就调用不了,这个属性应该结合JavaScript原型对象来看,有想了解的可以去看看
console.log("asd123".prototype) //undefined
console.log(function(){}.prototype) //Object()
string对象的方法
charAt()
定义:charAt() 方法可返回指定位置的字符
var txt="asd我看的"
txt.charAt(3) //我
charCodeAt()
定义:查找指定位置的字符Unicode编码
var txt="asd我的" txt.charCodeAt(3) //25105
fromCharCode()
定义:将Unicode编码转成字符
console.log(String.fromCharCode(25105)) //我
substr()
定义:从起始索引号提取字符串中指定数目的字符。
语法 string.substr(start,length) ; start:开始位置的索引值,length:提取字符串的长度
var txt="HELLO"
txt.substr(0,3) //HEL
substring()
定义:提取字符串中两个指定的索引号之间的字符。
语法 string.substring(from,to) ; 参数 from:开始位置的索引值,to:(可选参数)结束位置的索引值,如不写,则一直提取到最后
var txt="Hello World"
txt.substring(0,3) //Hel
//3-0=3所以是提取3个字符
slice()
定义:提取字符串中两个指定的索引号之间的字符
语法 string.slice(start,end) ;00 参数 start:开始位置的索引值,end:(可选参数)结束位置的索引值,如不写,则一直提取到最后
var txt="Hello World"
txt.slice(0,3) //Hel
//3-0=3所以是提取3个字符
//这个方法和substring的区别在于,他的参数可以是负数,而substring会默认将负数转成0
var txto="和substring的区别"
console.log(txto.substring(-1)) //和substring的区别
console.log(txto.slice(-1)) //别
console.log(txto.substring(0,-1)) //
console.log(txto.slice(0,-1)) //和substring的区
indexOf()
定义:返回某个指定的字符串值在字符串中首次出现的位置
语法 string.indexOf(value,index) ; 参数 value:需要检索的字符串,index (可选参数):开始检索的位置,如没有,默认从开头开始
var txt="helloHei"
console.log(txt.indexOf("H")) //5
lastIndexOf()
定义:返回一个指定的字符串值最后出现的位置
语法 string.lastIndexOf(value,start) ; 参数 value:需要检索的字符串,start(可选参数):开始检索的位置,如没有,默认从后面开始
var txt="我在中国说中国话" console.log(txt.lastIndexOf("中国")) //5
split()
定义:把字符串分割为字符串数组
语法 string.split(separator,limit) ; 参数 separator (可选参数):字符串或正则表达式,从该参数的位置切割,如没有不分割,limit (可选参数):返回数组的长度,如没有,则全部切割
var txt="我的参数切" console.log(txt.split("")) //[ "我", "的", "参", "数", "切" ]
console.log(txt.split()) //[ "我的参数切" ]
console.log(txt.split("的")) //[ "我", "参数切"
concat()
定义:链接两个字符串或多个
语法 string.concat(string1, string2, ..., stringX) ; 参数 string1:链接的字符串,不能少于一个
var txt1="我的"
var txt2="刀"
var txt3="杀人"
console.log(txt1.concat(txt2,txt3)) //我的刀杀人
console.log(txt1.concat(txt2)) //我的刀
console.log(txt1.concat()) //我的
trim()
定义:清除字符串两边空白
console.log("我的老歌 破 ".trim()) //我的老歌 破
toUpperCase()
定义:把字符串转换为大写
console.log("asd321".toUpperCase()) //ASD321
toLowerCase()
定义:把字符串转换为小写
console.log("ADFDasd651".toLowerCase()) //adfdasd651
search()
定义:search() 方法用于检索子字符串,或检索与正则表达式相匹配的子字符串
var txt="1HE hre ehe ehh" console.log(txt.search("he")) //9
console.log(txt.search(/he/i)) //1
match()
定义:match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配
var txt="1HE hre ehe ehh hee"
console.log(txt.match("he")) //[ "he" ]
console.log(txt.match(/he/gi)) //[ "HE", "he", "he" ]
vallueOf()
定义:返回某个字符串对象的原始值,没怎么懂,但是效果就是这样,貌似对字符串没起到作用
var str="Hello world!"
console.log(str.valueOf()) //Hello world!
JavaScript 字符串对象的常用处理