var 变量名 =“值”; 对象类型是 String, 是字符串类型的值,javascript
var 对象名 = new String( "值") ;css
var strObj = new String("Hello, String!"); //建立一个字符串对象
使用typeof运算符查看会发现,上面的myStr类型为string,而strObj类型为object。java
String.length正则表达式
var str = "123"; alert(isNaN(str)) //false
var str = "sdfs"; alert(isNaN(str)); //true
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);
String.toUpperCase( );不修改调用字符串,返回一个新的值
var str = 'sdfASd'; var news = str.toUpperCase(); alert(news);
var news = str.toLowerCase();
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("子串");
能够查正则表达式
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"]
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。