一、常用函数
1.字符串转换。将任何类型的数据都转换为字符串。
--toString()
var num=24; var mystr=num.toString(); //"24"
--String()
var num=24; var mystr=String(num); //"24"
--' '+sting
var num=24; var mystr="" + num; //"24"
2.字符串分割
--slice(start,end) 可提取字符串的某个部分,并以新的字符串返回被提取的部分。str.slice(start,end),截取str从start到end的所有字符(包含起始位置,不包含结束位置,)start和end都可以是负数,如果是负数,就从字符串的尾部开始算起,例如-1就是最后一个字符,-2就是倒数第二个字符,以此类推。如果未指定end参数,则截取从 start 到原字符串结尾的字符串。返回的是字符串。
var str = 'abc&ABC&123';
console.log(str.slice(3));//&ABC&123
console.log(str.slice(3,7));//&ABC
console.log(str.slice(-2));//23
console.log(str.slice(-3,-1));//12
--substring(start,end) 用于提取字符串中介于两个指定小标之间的字符,两个参数都必须是非负整数.str.substring(start,end) 截取str从start到end的所有字符(包含起始位置,但不包含结束位置),两个参数都必须是非负整数,如果参数start与end相等,那么该方法返回的就是一个空字符串,如果start比end大,那么该方法在提取字符串之前会先交换这两个参数,如果未指定end参数,则截取从start到原字符串结尾的字符串。
var str = 'abc&ABC&123';
console.log(str.substring(3));//&ABC&123
console.log(str.substring(3,7));//&ABC
--substr(start,length) 可在字符串中抽取从start下标开始的指定数目的字符串。(ECMAscript 没有对该方法进行标准化,因此反对使用它。)str.substr(start,length)截取str从start开始的length个字符(包含起始位置)。start参数可以是任意整数,如果是负数,则从str的尾部开始算起,例如-1就是str的最后一个字符。length是可选的,如果没有,则表示截取从str开始的位置到字符串的尾部。
var str = 'abc&ABC&123';
console.log(str.substr(3));//&ABC&123
console.log(str.substr(3,7));//&ABC&12
console.log(str.substr(-2));//23
console.log(str.substr(-5,4));//C&12
注:JavaScript 的字符串是不可变的(immutable),String 类定义的方法都不能改变字符串的内容。所以以上三种方法都不会改变原来的字符串,而是生成新的字符串。
3.字符串替换
--replace(regexp/substr,replacement) 替换与正则表达式匹配的子串。regexp/substr 必需。规定子字符串或要替换的模式的 RegExp 对象。replacement 必需。一个字符串值。规定了替换文本或生成替换文本的函数。返回 一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。
var str = 'abc&ABC&123'; console.log(str.replace(1,','));//abc&ABC&,23 --srting console.log(str.replace(/&/g,''));//abcABC123
4.字符串分割成字符串数组
--split(separator,howmany) 返回的是字符串数组 separator必需。字符串或正则表达式。howmany可选。该参数可指定返回的数组的最大长度 。返回值,一个字符串数组。
var str = 'abc&ABC&123'; console.log(str.split(1,1));//["abc&ABC&"] console.log(str.split(/&/g));//["abc", "ABC", "123"]
console.log(str.split(''));// ["a", "b", "c", "&", "A", "B", "C", "&", "1", "2", "3"]
5.查找字符串
--indexOf(searchvalue,fromindex) 返回某个指定的字符串值在字符串中首次出现的位置。如果要检索的字符串值没有出现,则该方法返回 -1。indexOf() 方法对大小写敏感!searchvalue 必需。规定需检索的字符串值。 fromindex(0~str.len-1) 可选整数。规定在字符串中开始检索的位置。
var str = 'abc&ABC&123'; console.log(str.indexOf(1));//8 console.log(str.indexOf(3,6));//10 console.log(str.indexOf(5,6));//-1
--match() match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。.match(searchvalue) 必需。规定要检索的字符串值。 .match(regexp) 必需。规定要匹配的模式的 RegExp 对象 ---- 多用这种操作 返回需要的字符串数组
var a = 'abc&CDE&啊啊啊'; var f = a.match(/[A-z]/g); console.log(f); ["a", "b", "c", "C", "D", "E"]
--search() 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串 search(regexp) 该参数可以是需要在 stringObject 中检索的子串,也可以是需要检索的 RegExp对象。 如果没有找到任何匹配的子串,则返回 -1。
var a = 'abc&CDE&啊啊啊'; a.search('啊');//8 a.search(/[A-z]/g);//0