一、字符串方法
1、字符串转换:
将一个值转换成一个字符串有两种方法,一是使用 toString() 方法,二是使用转型函数 String()。
(1)、大多值都有toString()方法,null和undefined是没有的。
(2)、对于字符串型的值也可以使用toString()方法,它会返回该字符串的一个副本。
(3)、toString()方法可以传递一个参数,表示数值的基数(进制)。
var t = 8;
t.toString(2); //1000
默认情况下 参数是10。要说明的是对于非数值类型(boolean,string等)设置toString()的参数是无效的
var t ="8";
t.toString(2); //8, 返回字符串的副本;
(4)、任何值都可以使用String()方法。它的过程是这样的
首先,如果值有toString()方法,那么则使用该方法(无参数)。
其次,那就是该值没有toString()方法,那就是 null 返回 "null",undefined返回"undefined";
var a=null;
String(a); //"null"
2、字符串分割:
字符串分割,将一个字符串按照某种方式分割成字符串数组,使用 split(separator,howmany) 方法,
第一个参数必需,,为字符串或正则表达式,从该参数指定的地方分割字符串;
第二个参数可选,可指定返回的数组的最大长度
var myStr = "I,Love,You,Do,you,love,me";
var substrArray = myStr .split(","); // ["I", "Love", "You", "Do", "you", "love", "me"];
var arrayLimited = myStr .split(",", 3); // ["I", "Love", "You"];
3、获取字符串长度
获取字符串长度,直接使用 str.length 属性
var myStr = "I,Love,You,Do,you,love,me";
var myStrLength = myStr.length; //25
4、查询子字符串
查询子字符串,可以使用 indexOf() 和 lastIndexOf() 方法
(1)indexOf():从字符串的第一个字符位置开始查找,找到后返回对应下标,找不到返回 -1 ;
var myStr = "I,Love,you,Do,you,love,me";
var index = myStr.indexOf("Love"); // 2 ,基于0开始,找不到返回-1,区分大小写
(2)lastIndexOf():从字符串的末尾开始查找,找到最后出现指定字符串的位置后返回对应下标,找不到返回 -1 ;
var myStr = "I,Love,you,Do,you,love,me";
var index = myStr.lastIndexOf("you"); // 14 //区分大小写
5、字符串替换
替换字符串,使用 strObj.replace(regexp/substr,replacement) 方法,
第一个参数必需,规定要匹配的正则对象,
第二个参数必需,规定了替换文本或生成替换文本的函数。
var myStr = "I,Love,you,Do,you,love,me";
var replacedStr = myStr.replace(/love/g,"hate");//"I,Love,you,Do,you,hate,me",全局匹配(g)
var myStr = "I,Love,you,Do,you,love,me";
var replacedStr = myStr.replace(/love/g,"hate");//"I,hate,you,Do,you,hate,me",忽略大小写(i)
6、查找给定位置的字符或其字符编码值
想要查找给定位置的字符,你可以使用如下函数:
var myStr = "I,love,you,Do,you,love,me";
var theChar = myStr.charAt(8);// "o",同样从0开始
同样,它的一个兄弟函数就是查找对应位置的字符编码值,如:
var myStr = "I,love,you,Do,you,love,me";
var theChar = myStr.charCodeAt(8); //111
7、字符串拼接
字符串连接操作可以简单到用一个加法运算符搞定,如:
var str1 = "I,love,you!";
var str2 = "Do,you,love,me?";
var str = str1 + str2 + "Yes!";//"I,love,you!Do,you,love,me?Yes!"
使用js自带 strObj1.concat(strObj2) 方法也可实现
var str1 = "I,love,you!";
var str2 = "Do,you,love,me?";
var str = str1.concat(str2);//"I,love,you!Do,you,love,me?"
8、字符串切割和提取
有三种方法可实现,分别为:
(1)、strObj.slice(satrt,end):第一个参数必需,要提取字符串的起始下标。如果为负数的话,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推,第二个参数可选,与strObj.substring()类似。
var myStr = "I,love,you,Do,you,love,me";
var subStr = myStr.slice(1,5);//",lov"
(2)、strObj.substring(start,end):第一个参数必需,不能为负数,提取字符串初始位置,第二个参数可选,strObj[end]不提取。
var myStr = "I,love,you,Do,you,love,me";
var subStr = myStr.substring(1,5); //",lov";
(3)、strObj,substr(start,length):第一个参数必需,提取字符串的初始位置,第二个参数可选,表示提取字符串长度,不写的话默认提取到字符串末尾。
var myStr = "I,love,you,Do,you,love,me";
var subStr = myStr.substr(1,5); //",love"
9、字符串大小写转换
常用的转换为大写或者小写字符串函数,如下:
var myStr = "I,love,you,Do,you,love,me";
var lowCaseStr = myStr.toLowerCase();//"i,love,you,do,you,love,me";
var upCaseStr = myStr.toUpperCase();//"I,LOVE,YOU,DO,YOU,LOVE,ME"
10、字符串匹配
字符串匹配可能需要你对正则表达式有一定的了解,先来看看match()函数:
var myStr = "I,love,you,Do,you,love,me";
var pattern = /love/;
var result = myStr.match(pattern);//["love"]
console.log(result .index);//2
console.log(result.input );//I,love,you,Do,you,love,me
如你所见,match()函数在字符串上调用,并且接受一个正则的参数。来看看第二个例子,使用exec()函数:
var myStr = "I,love,you,Do,you,love,me";
var pattern = /love/;
var result = pattern .exec(myStr);//["love"]
console.log(result .index);//2
console.log(result.input );//I,love,you,Do,you,love,me
简单吧,仅仅是把正则和字符串换了个位置,即exec()函数是在正则上调用,传递字符串的参数。对于上面两个
方法,匹配的结果都是返回第一个匹配成功的字符串,如果匹配失败则返回null.
再来看一个类似的方法search(),如:
var myStr = "I,love,you,Do,you,love,me";
var pattern = /love/;
var result = myStr.search(pattern);//2
仅返回查到的匹配的下标,如果匹配失败则返回-1.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。