JavaScript---字符串用法总结

1、建立字符串

var 变量名 =“值”; 对象类型是 String, 是字符串类型的值,javascript

var  对象名 = new String( "值") ;css

var strObj = new String("Hello, String!");  //建立一个字符串对象
  使用typeof运算符查看会发现,上面的myStr类型为string,而strObj类型为object。java

2、字符串的长度

String.length正则表达式

3、isNaN() 函数用于检查其参数是不是非数字值。(不是判断是否为字符串类型)

var str = "123";
alert(isNaN(str)) //false
var str = "sdfs";
alert(isNaN(str)); //true

4、字符串的拼接

1.将两个或多个字符串拼接为一个大的字符串
用一个"+"将两个字符串"相加":数组

var longString = "One piece " + "plus one more piece.";函数

2. 要将多个字符串累积为一个字符串,还可使用"+="操做符:lua

var result = "";
         result += "Hello!"
         result += " nice to meet you";   
         alert(result);

3.像警告、确认对话框之类的状况下字符换行 须要使用转义字符"\n"spa

var confirmString = "今每天气不错 " +
        "你肯定\n 不出去转转";
        var confirmValue = confirm(confirmString);

4. 将这段文本做为HTML内容呈现,\n就无效了,此时用"<br>"代替它code

var dString = "今每天气不错 " +
        "你肯定<br> 不出去转转";
        document.write(dString);

5. concat函数(返回一个新函数)对象

var str1 = "abc";
      var str2 = 'def';
      var str3 = str1.concat(str2);
      alert(str3);

abcdef

5、大小写转换

String.toUpperCase( );不修改调用字符串,返回一个新的值

var str = 'sdfASd';
      var news = str.toUpperCase();
      alert(news);

var news = str.toLowerCase();

6、字符串查找

indexOf( "查找的子串“,起始查找位置(默认为0));    indexOf()返回str 中 所查找子串 的开始位置,若是没有找到,则返回-1。

var str = "abcdef";
      var n=str.indexOf("def");
      alert(n); //3 第一个匹配的位置为3

也许一个字符串会包含另外一字符串不止一次,这时第二个参数 startIndex 会派上用场。

下面这个函数演示如何求得一个字符串包含另一个字符串的次数:

当所查的是子字符串 ,下一次查询的的位置 : pos +=minStr.length;

function countStr(str,minStr){
     	var count =0;
     	var len =str.length
     	var pos =0;
     	while(pos<len){
     		pos = str.indexOf(minStr,pos);
     		if(pos == -1)break;
     		count++;
     		pos +=minStr.length;
     	}
     	return count;
     }
     
     var str ="abcssabcssabd";
     var num = countStr(str,"abc");
     alert(num);//2

    strObj.lastIndexOf(subString,startindex)该方法自右向左查找,返回subString在strObj中最后出现的位置,若是没有找到,返回-1.

字符串.search("子串");

能够查正则表达式   

7、字符串分割: Split( )

split( ) 方法用于把一个字符串分割成 字符串数组。

stringObject.split(separator,howmany)

separator 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。

 

howmany 可选。该参数可指定返回的数组的最大长度。若是设置了该参数,返回的子串不会多于这个参数指定的数组。若是没有设置该参数,整个字符串都会被分割,不考虑它的长度。
var str="How are you doing today?"
	
    document.write(str.split(" ") + "<br />"); //空格处分割
	document.write(str.split("") + "<br />") ;//若是把空字符串 ("")用做 separator,那么 stringObject    //中的每一个字符之间都会被分割。
	document.write(str.split(" ",3)) //返回三个

"2:3:4:5".split(":")	//将返回["2", "3", "4", "5"]
"|a|b|c".split("|")	//将返回["", "a", "b", "c"]

使用下面的代码,能够把句子分割成单词:

var words = sentence.split(' ')

或者使用正则表达式做为 separator:

var words = sentence.split(/\s+/)

若是您但愿把单词分割为字母,或者把字符串分割为字符,可以使用下面的代码:

"hello".split("")	//可返回 ["h", "e", "l", "l", "o"]

若只须要返回一部分字符,请使用 howmany 参数:

"hello".split("", 3)	//可返回 ["h", "e", "l"]

8、访问子串

slice()

定义:接受一个或者两个参数,第一个参数指定子字符串的开始位置。第二个参数表示子字符串的结束位置(不包括结束位置的那个字符),若是没有传递第二个参数,则将字符串的长度做为结束位置。

一、传递参数为正值状况:

 var str ="helloWorld "; // 一个参数,则将字符串长度做为结束位置
 alert(str.slice(3));       // "loWorld"
 // 两个参数,7位置上的字符为"r",但不包括结束位置的字符
   alert(str.slice(3,7)); // "loWo"

二、传递参数为负值的状况:将负值与字符串长度相加

// slice()方法会将传入的负值与字符串长度相加。
  var str ="helloWorld";// 一个参数,与字符串长度相加即为slice(7)
  alert(str.slice(-3)); // "rld"
  // 两个参数,与字符串长度相加即为slice(3,6)
  alert(str.slice(3,-4)); // "loW"

三、第二个参数比第一个参数值小的状况:

var str ="helloWorld";
 alert(str.slice(5,3)); // ""返回空值

substring()  --返回一个新的字符串

定义:接受一个或者两个参数,第一个参数指定子字符串的开始位置。第二个参数表示子字符串的结束位置(不包括结束位置的那个字符),若是没有传递第二个参数,则将字符串的长度做为结束位置。

一、传递参数为正值状况:与slice()方法行为相同的

var str ="helloWorld";
  // 一个参数,则将字符串长度做为结束位置
  alert(str.substring(3)); // "loWorld" 起始索引位置为3,到最后
  // 两个参数,7位置上的字符为"r",但不包括结束位置的字符
  alert(str.substring(3,7)); // "loWo"

二、传递参数为负值的状况:

substring()方法会把全部负值参数转换为0。

var str ="helloWorld";
  // 两个参数,-4会转换为0,至关于substring(3,0) -->即为 substring(0,3)
  alert(str.substring(3,-4)); // "hel"

substring()方法会将较小的数做为开始位置,将较大的数做为结束位置。如上面的例子substring(3,0) 与substring(0,3)是同样效果的。

substr()

定义:接受一个或者两个参数,第一个参数指定子字符串的开始位置。第二个参数跟以前的方法有些区别,表示返回的字符个数。若是没有传递第二个参数,则将字符串的长度做为结束位置。来看例子:

一、传递参数为正值状况:

var str ="helloWorld";
  // 一个参数,则将字符串长度做为结束位置
  alert(str.substr(3)); // "loWorld"
  // 两个参数,从位置3开始截取后面7个字符
  alert(str.substr(3,7)); // "loWorld"

二、传递参数为负值的状况:

substr()方法会将 负的第一个参数加上字符串的长度,而将负的第二个参数转换为0。

var str ="helloWorld";
  // 将第一个负的参数加上字符串的长度--->10-3=7/即为:substr(7,5) ,从位置7开始向后截取5个字符
  alert(str.substr(-3,5)); // "rld"
  // 将第二个参数转换为0// 即为:substr(3,0),即从位置3截取0个字符串,则返回空
  alert(str.substr(3,-2)); // ""

在传递正值参数状况下,slice( ) 和 substring ( ) 行为是一致的,substr()方法在第二个参数上会容易混淆

在传递负值参数状况下,slice() 方法是经过字符串长度相加,符合通常思惟,substring()第二个参数转换为0会容易出问题,起始位置会容易变动,substr() 方法负值状况下会出现IE兼容性问题。

slice,substr和substring的区别

slice和substring接收的是起始位置和结束位置(不包括结束位置),而substr接收的则是起始位置和所要返回的字符串长度。

substring是以两个参数中较小一个做为起始位置,较大的参数做为结束位置。

接着,当接收的参数是负数时,slice会将它字符串的长度与对应的负数相加,结果做为参数;substr则仅仅是将第一个参数与字符串长度相加后的结果做为第一个参数;substring则干脆将负参数都直接转换为0。

相关文章
相关标签/搜索