JavaScript字符串相关

 

嘛,开头来个定义好了!

首先它是JavaScript基本数据类型之一。字符串由零或多个16位Unicode字符组成的字符序列,用''或者""表示。

它有一些转义序列,例如\n \t \b \r \f \\ \' \" \xnn \unnnn等等。

 

接下来看看它的属性:

length 任何字符串可通过该属性获得字符串长度;

var text="This is a blog.";
console.log(text.length);  //15

 

其次是方法:

转为字符串:toString() 和String()函数

toString()返回相应字符串值。除了null和undefined以外,所有数值,布尔值,对象和字符串值都有该方法。

一般情况下,可以不传参数,此时,输出值与指定基数10时的输出相同。它可以传一个参数:输出数值的基数。通过传递技术,toString()可以输出以二进制,八进制,十六进制或其他任意有效进制格式表示的字符串值。例如:

var num=10;
console.log(num.toString());   //"10"
console.log(num.toString(2));   //"1010"
console.log(num.toString(10));   //"10"
console.log(num.toString(16));   //"a"

String()函数不知转换值是不是null或者undefined时使用,它可以将任何类型的值转为字符串。String()遵循下列转换规则:

  • 如果值有toString()方法,则调用该方法(没有参数)并返回相应结果;
  • 如果值是null,则返回"null";
  • 如果值是undefined,则返回"undefined".
var num=10;
var boolvalue=true;
var nullvalue=null;
var value;

console.log(String(num));  //"10"
console.log(String(boolvalue));  //"true"
console.log(String(nullvalue));  //"null"
console.log(String(value));  //"undefined"

  

搜索字符对应位置的方法:indexOf()与lastIndexOf()

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置

两个参数,第一个参数是需要检索的字符串值,必须参数;第二个参数是从哪个位置开始检索,默认从字符串首部开始检索,选填参数。找到了返回首次出现的位置,若找不到返回-1.

var s='hello toyocc';
console.log(s.indexOf('t',3));  //6
console.log(s.indexOf('o',0));  //4
console.log(s.indexOf('o'));  //4
console.log(s.indexOf('s'));  //-1

lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索

两个参数,第一个参数是需要检索的字符串值,必须参数;第二个参数是从哪个位置开始检索,默认从字符串最后一个字符处开始检索,选填参数。找到了返回最后出现的位置,若找不到返回-1.

var s="It's me, toyocc";
console.log(s.lastIndexOf('t',3));  //1
console.log(s.lastIndexOf('o',0));  //-1
console.log(s.lastIndexOf('o'));  //12
console.log(s.lastIndexOf('s'));  //3

 

分割方法:split()分割成字符串数组 及扩展方法Array.join()

split() 把字符串分割为字符串数组。两个参数,第一个参数是字符串或正则表达式,指定从哪儿开始分割字符串,必须参数(第一个参数一般可以是一个空格" ",将分成一个个单词。也可以是什么也没有的"",将字符处每个字符包括空格都分割开来);第二个参数是设置返回的字符串数组的最大长度,默认是全部返回,选填参数。

扩展:数组的join()方法与字符串方法刚好相反,Array.join()将字符串数组连接成一个字符串

var s="Hei, toyocc";
console.log(s.split(" "));  //["Hei,", "toyocc"]
console.log(s.split(""));  //["H", "e", "i", ",", " ", "t", "o", "y", "o", "c", "c"]
console.log(s.split("",5));  //["H", "e", "i", ",", " "]
/*扩展*/
var a=["H", "e", "i", ",", " ", "t", "o", "y", "o", "c", "c"]; console.log(a.join()); //"H,e,i,,, ,t,o,y,o,c,c"默认使用","连接整个字符串 console.log(a.join());//"Hei, toyocc"

 

连接方法:concat() 与使用"+"连接符号

concat()这个是连接字符串的方法,参数就是需要顺序连接在字符串尾部的字符串,可传多个参数。平时字符串连接使用多的是"+"连接。

console.log("I'm".concat(" ","toyocc","."));   //I'm toyocc.
console.log("I'm"+" "+"toyocc"+"!");   // I'm toyocc!

 

截取子字符串方法:slice(),substring()与substr()

slice() 提取字符串的片断,并在新的字符串中返回被提取的部分。它有两个参数,第一个参数是起始位置,第二个是结束位置。截取返回的是起止位中间部分。这两个参数都可以为负数,负数表示从字符串末尾开始数起,-1表示最后一个字符,以此类推。它与数组的方法alice()方法类似。

substring() 方法用于提取字符串中介于两个指定下标之间的字符。它也是两个参数,第一个起始下标,必需参数;第二个参数是终止下标,选填参数,默认截取到字符串末尾。截取返回中间部分,两个参数都是非负数。substring() 方法返回的子串包括起始下标的字符,但不包括终止下标处的字符。

substr() 方法可在字符串中抽取从起始下标开始的指定数目的字符。它有两个参数,第一个参数是起始下标,必需参数,可为负数,负数是倒着数的;第二个参数是需要截取的新字符串长度,选填参数,默认不填表示截取到字符串最后一个字符。不过这个方法不太推荐使用,因为ie4不识别起始下标,而且ECMAscript木有对它进行标准化。

var s="hello,toyocc.";
console.log(s.slice(2,5));   //'llo'
console.log(s.slice(-2,-1));  //'c'
console.log(s.substring(1,5)); //'ello'
console.log(s.substring(2));  //'llo,toyocc.'
console.log(s.substr(1,5));  //'ello,'
console.log(s.substr(1));    //'ello,toyocc.'

 

字符相关:charAt() 与 charCodeAt()

charAt() 返回在指定位置的字符。该方法传入一个参数,即字符在字符串中的下标,必需参数,若参数不在字符串下标范围内,那么返回一个空字符串。

charCodeAt()返回在指定的位置的字符的 Unicode 编码。该方法传入一个参数,即字符在字符串中的下标,必需参数,若参数是负数,或大于等于字符串的长度,则返回 NaN。这个方法可以用于自己动手写parseInt()方法中字符变数字部分!

方法 charCodeAt() 与 charAt() 方法执行的操作相似,只不过前者返回的是位于指定位置的字符的编码,而后者返回的是字符子串。

console.log('toyocc'.charAt(2));   //"y"
console.log('toyocc'.charCodeAt(2));   //121
console.log('toyocc'.charAt(-2));    //""
console.log('toyocc'.charAt(20));    //""
console.log('toyocc'.charCodeAt(-2));   //NaN
console.log('toyocc'.charCodeAt(20));    //NaN

 

匹配方法:match()与replace()与search()

match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。只有一个参数,要么是需要检索的字符串值,那么它返回指定的值;要么是一个正则表达式,得到一个满足匹配的数组。

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。两个参数,第一个参数是要被替换的字符串或者一个正则表达式,必需参数;第二个参数是替换字符串或者函数。

search()检索与正则表达式相匹配的值,返回第一个匹配的起始位置。一个参数,即一个正则表达式。找不到匹配的值,返回-1。

这部分算是难点,需要配合正则表达式的地方要Ga油!多用用就好了吧。这部分例子就不给了吧。容我好好补习正则了再过来!!!

 

延伸:eval()函数,将字符串当作JavaScript代码来执行的方法。这个可用于简单计算,也可以执行一些简单js语句

console.log(eval("2+4"));   //6
console.log(eval("console.log('hello toyocc!')"));   //hello toyocc!

 

使用不同形式显示字符串

big()用大号字体显示字符串。

blink()显示闪动字符串。

bold()使用粗体显示字符串

fixed()以打字机文本显示字符串。

fontcolor()使用指定的颜色来显示字符串。

fontsize()使用指定的尺寸来显示字符串。

fromCharCode()从字符编码创建一个字符串。

italics()使用斜体显示字符串。

link()将字符串显示为链接。

small()使用小字号来显示字符串。

strike()使用删除线来显示字符串。

sub()把字符串显示为下标。

sup()把字符串显示为上标。

toLocaleLowerCase()把字符串转换为小写。

toLocaleUpperCase()把字符串转换为大写。

toLowerCase()把字符串转换为小写。

toUpperCase()把字符串转换为大写。

toSource()代表对象的源代码。

valueOf()返回某个字符串对象的原始值。

 

方法的使用就像楼上那些一样,不对的话就去查看w3cshool里面具体用法吧!写这篇博文好崩溃呀。后期再来把代码补齐。。。

posted @ 2017-03-20 02:08  Toyocc  Views(227)  Comments(0Edit  收藏  举报