花里。

导航

字符串

检测类型 

var str='king'

console.log(typeof str);     string

var strObj=new String('king');

console.log(typeof strObj);  object

console.log(strObj[ 0 ]);   结果为k  obj的下标0位置的内容

console.log(strObj.length);   4 长度

console.log(strObj.valueOf()); king  返回指定对象的原始值

console.log(strObj.toString());  king   返回该对象的字符串

console.log("nana"[ 0 ]);     n    nana下标的0位置

console.log("Helloworld".length);  10   helloworld的长度

-------------------charAt-------------------

charAt(index)根据下标返回指定的字符  返回的是内容

var str='king';

console.log(str.charAt(0));    k

console.log(str.charAt(3));     g

console.log(str.charAt(10));   如果长度超过本身那么返回的结果为空

---------------charCodeAt----------------

charCodeAt()返回指定字符的ASCII码值

var str='abcdef';

console.log(str.charCodeAt(0));  97  a的ASCII码值为97

console.log(str.charCodeAt(-123)); NaN  如果 index 是负数,或大于等于字符串的长度,则 charCodeAt() 返回 NaN。

console.log(str.charAt(6)); 如果长度超过本身那么返回的结果为空

------------------fromCharCode------------

fromCharCode() 根据指定的ASCII放回对应的字符

console.log(String.fromCharCode(97));          //a ascii码对应的97是a
console.log(String.fromCharCode(65,66,67));     //ABC 65,66,67对应的ascii是ABC

---------------concat------------

concat() 连接字符串

var str='hello ';
console.log(str.concat('world')); //hello world
console.log(str.concat('world ','!')); //hello world ! 连接多个字符串 中间也可以用加号

----------indexOf-------------

字符串搜索

var str='this is a test';  
console.log(str.indexOf('t'));        0 第一个t的位置在0位置
console.log(str.indexOf('is',3));     2 
console.log(str.indexOf('Is'));       //-1 没有这个Is,所以返回-1
console.log(str.indexOf('i',5));     //5 查找i  从第五位开始,返回值包括前面的位数和空格


    通过indexOf()可以统计一个字符在指定字符串中出现的次数
var str='sssssdlkfjlwk34jlksdfjlksjdlf234';
var count=0;
var pos=str.indexOf('s'); //查询s所在的位置
while(pos!=-1){            pos不等于-1 说明有这个字母,然后执行+1
count++;
pos=str.indexOf('s',pos+1);       
}
console.log(count);                                结果为7


lastIndexOf():最后一次出现的位置
var str='this is a test';
console.log(str.indexOf('is'));       2
console.log(str.lastIndexOf('is'));     5 从字符串的最后一个字符处开始检索
console.log(str.lastIndexOf('ss'));     -1 如果要检索的字符串值没有出现,则该方法返回 -1

-------------localeCompare------------

比较两个字符串

console.log('h'.localeCompare('j'));    //-1 h < j 返回小于0的数
console.log('z'.localeCompare('a'));    //1 z > a 返回大于0的数
console.log('a'.localeCompare('a'));    //0 a = a 返回0
console.log('b'.localeCompare('B'));    //1

--------------match-----------------

match() 找到一个或多个正则表达式的结果  返回的是内容

/放要找的内容/     i代表不区分大小写    g代表全局
var str='this is a test of king show time';
var re=/IS/i;
console.log(str.match(re));          //结果为is

var str='QWERTYUIOPASDFGHJKLZXCVBNMqwertyuioasdfghjkzxcvbnm';
console.log(str.match(/[a-f]/ig));    //"E,A,D,F,C,B,e,a,d,f,c,b" 查询 a 到 f 的字母,在不区分大小写和全局搜索的情况下

-------------search--------------- 

search()根据正则表达式进行搜索   返回的是下标

var str='this is a test';
console.log(str.search(/is/));   2
console.log(str.search(/IS/));   -1   没找到 所以反回-1
console.log(str.search(/IS/i));   2   i表示不区分大小写

var str='QWERTYUIOPASDFGHJKLZXCVBNMqwertyuioasdfghjkzxcvbnm';
console.log(str.search(/[a-f]/i));        //2
console.log(str.search(/[a-f]/ig));       //2 search() 方法不执行全局匹配,它将忽略标志 g

-------------replace-------------

替换

var str='this is a test IS';
var newStr=str.replace(/IS/ig,'<span >is</span>');
console.log(newStr);
document.write(newStr);      //this is a test is

var str="2015-09-26";
var newStr=str.replace(/(\d{4})-(\d{2})-(\d{2})/,"$2*$3*$1");
console.log(newStr);          //09*26*2015 \d元字符用于查找数字字符 $换位置且中间可加符号

 

var str="2017-01-23";
var newStr=str.replace(/(\d{4})-(\d{2})-(\d{2})/,func);
function func(match,d1,d2,d3){
return [d2,d3,d1].join('/');
}
console.log(newStr); 01/23/2017

格式stringObject.split(separator,howmany)
var str='2015-08-12';
var arr=str.split('-');            取消括号内的内容,成为数组 ,用逗号隔开
console.log(arr);           2015,08,12 取消括号内的内容 - ,成为数组 ,用逗号隔开

var str='a b c d e f';
var arr=str.split(' ');     取消空格
console.log(arr);        a,b,c,d,e,f  成为数组

arr=str.split(' ',3);        
console.log(arr);     a,b,c  如果后边设置参数 那么表示需要的长度

 -----------截取字符串---------------

截取字符串slice()是数组中常用
var str='abcdef';
console.log(str.slice(2));   cedf 从下标为2的字符开始到结束
console.log(str.slice(0,2));   ab 从下标为0的字符开始到下标为2 的结束 不包括下标为2的字符
console.log(str.slice(-3));   def 负数是从后往前数 包括-3
console.log(str.slice(-4,-2));   cd 不包括结束的那个字符
console.log(str.slice(0,-1));  abcde 从下标为0的字符开始到从后数为-1的结束 不包括-1
截取字符串substr(开始下标,截取长度)是字符串中常用 截取长度不能为负数
console.log(str.substr(3));   def 从下标为3的字符开始到结束
console.log(str.substr(0,4));   abcd 从下标为0 的字符开始截取四个字符串(长度)
截取字符串substring(开始下标,结束下标)如果只写开始下标 默认截取的字符串从开始下标到字符串结束 结束下标不支持负数
console.log(str.substring(0,2));  ab 从下标0开始到下标2结束 不包括下标2
console.log(str.substring(2));   cdef 从下标2开始到字符结束

 

 

 


        

 

posted on 2019-01-07 15:09  花里。  阅读(128)  评论(0编辑  收藏  举报