js中字符串相关知识点总结

时间:2023-03-08 17:14:16

 

有引号就是字符串类型

空格也算长度

字符串的length不可写

typeof 判断数据类型

var s="a bcadde你好"

// alert(typeof s)                  //string

// alert(s.length)                  //10

// alert(s.charAt(3))               //c 获取某一位置的字符串元素

// alert(s.charAt(9))   //超过了字符串的长度-1或者负数,就弹出空值

// alert(s.charCodeAt(3))           //99    //获取字符串元素的编码

不写就是获取第0个

// alert(String.fromCharCode(99))   //c  //根据字符编码获取对应字

// alert(String.fromCharCode(20320,22909))   //你好

charCoedAt 

0~9    48~57

a~z     97~122

A~Z   65~90

search         找字符第一次出现的位置

var str = 'abcde';

alert(str.search("bc"))   // 从左往右找,返回第一次出现的位置

// 找不到返回-1

var str = 'www.baidu.comww';

indexOf()   获取字符串中某个字符的位置,从左往右找

alert( str.indexOf('w') );         /0  第一次出现的位置

alert( str.indexOf('m', 5) );      //12

5表示从第5位开始找后找,不写默认或者负数从第0个开始找

alert( str.indexOf('X') )            //-1  表示没找到

alert( str.indexOf('ww', 2) );   //单个单个数

alert( str.indexOf('ww', 2) );   //单个单个数

var str = '伴随着灯光与歌声,一朵硕大的牡丹花出现在观众眼前,“牡丹仙子”在花中跳着优美的舞蹈,观众连连称奇。洛阳籍歌手田华演唱《洛阳牡丹》,赢得热烈掌声。';

var s = '牡丹';

var i = 0;

var m=""

for( ; str.indexOf( s, i ) != -1 ; ){

m+=str.indexOf( s, i )

i = str.indexOf( s, i ) + s.length;

}

alert(m)

while( str.indexOf( s, i ) != -1 ){

alert( str.indexOf( s, i ) );

i = str.indexOf( s, i ) + s.length;

}

alert(m);

 

 

 

 

 

 

 

 

 

lastIndexOf()       从后往前找,第二个参数表示从哪开始找

                       如果第2个值为负数,默认当成0来处理

var str = '伴随着灯光与歌声,一朵硕大的牡丹花出现在观众眼前,“牡丹仙子”在花中跳着优美的舞蹈,观众连连称奇。洛阳籍歌手田华演唱《洛阳牡丹》,赢得热烈掌声。';

14   26   61

alert(str.indexOf('牡丹', 50))      //61  从左往右找

alert(str.lastIndexOf('牡丹', 38) );   //26

alert(str.lastIndexOf('牡丹', ) );    //14

字符串比较,只比较其第一个

substring        有目标截      

var str="外国的月亮比较圆?"

alert(str.substring(4))    // 亮比较圆?   取光标后的字符串

一个参数情况下,从那一位截取,不要前面的

alert(str.substring(0,2))   //外国    两个参数,截取其间字符

alert(str.substring(2,0))   //外国    交换位置,自动大的参数仍后面

alert(str.substring(-3,2))   //外国    负数当做零处理

alert(str.substring(1,4))    //国的月

不包含结束位置,从起始位置,到结束位光标前

slice                 可以从后面开始截取

alert( str.slice( 2, 0 ) ); //不显示    无substring的交换位置的功能

alert(str.slice(-2))      //圆?  负数从尾部找  取光标后的字符串

alert(str.slice(-4,-2));   //比较  从后面倒着往前来数

toUpperCase()   转换成大写

toLowerCase()   转换成小写

 

alert(str.toUpperCase())

alert(str.toLowerCase())

<div id="div1" onclick="alert( this.innerHTML.toUpperCase() );"><p>这是一段文字</p></div>

split   切割   切得那个东西没了

         被分割成数组[]

var str="www.baidu.com"

alert(str.split("."))     //[www,baidu,com]  以特定字符切割

var str1=”lei”

alert(str1.split())    // ["lei"]

不加分隔符,整个当做一个分割符,装进数组

alert(str1.split(""))   ["l","e","i"]

                          以空字符切,认为字母数字汉子间有空字符串

var str3 = '/www.badiu.com/';   认为斜杠左边有空的位置

alert( str3.split('/').length ); // [ , www.baidu.com,  ]

var str4 = '2016-04-01-23-07';

alert( str4.split('-', 3) );    //[2016,04,01]

3为可选参数,表示可截取的段数

 

 

join

----数组的变成字符串

var arr = [ 'aa', 'bb', 'cc' ];

alert( arr.join() );          //"aa,bb,cc"

不写,默认状态下以 ,连接   显示三个字符串

alert( typeof arr.join() );   //string

alert( arr.join().length );     //8    ,也算字符

alert( arr.join('') );         // aabbcc 以空字符串连接,不显示空格

alert( arr.join('').length )   // 6   "aabbcc"

alert( arr.join('-') );        //aa-bb-cc