字符串

================================检测类型===================================
var str='king';
console.log(typeof str);     //string 检测str的类型,字符串类型

var strObj=new String('king');
console.log(typeof strObj);     //obj 检测strObj的类型 ,对象类型

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));   // 如果参数 index 不在 0 与 string.length 之间,该方法将返回一个空字符串

================================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));        // 如果参数 index 不在 0 与 string.length 之间,该方法将返回一个空字符串

================================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 第一个is的位置在第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);       //结果为7
}
console.log(count);


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===================================

比较两个字符串   格式:stringObject.localeCompare(target)  -- 》stringObject < target返回小于0的数 按照ascii码
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 IS';  
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 style="color:red;">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);



================================截取字符串substring()===================================

        截取字符串substring() 格式stringObject.substring(start,stop)
        截取长度为 stop - start 也就是substring() 方法返回的子串包括 start 处的字符,但不包括 stop 处的字符。
console.log(str.substring(3)); //def 从3位置开始,截到完
console.log(str.substring(2,4)); //cd 从2位置开始截到4位置
console.log(str.substring(4,4)); // start = stop的话 输出结果为空
console.log(str.substring(2,-2)); //ab substring() 不接受负的参数。

        substr() 格式 stringObject.substr(start,length)
console.log(str.substr(3)); //def 从3位置开始,截到完
console.log(str.substr(2,1)); //c 从2位置开始截1个
console.log(str.substr(2,-2)); // 长度不能为负数
console.log(str.substr(-2,2)); //ef -2位置截两个



================================split()将字符串拆分成数组===================================
格式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);

arr=str.split(' ',3);         //格式stringObject.split(separator,howmany) 该参数可指定返回的数组的最大长度。
console.log(arr);       //如果设置该参数,返回的子串不会多于这个参数指定的数组。

             //如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。




================================字符串大小写相关===================================
与 toLowerCase() 不同的是,toLocaleLowerCase() 方法按照本地方式把字符串转换为小写。
只有几种语言(如土耳其语)具有地方特有的大小写映射,所有该方法的返回值通常与 toLowerCase() 一样。
console.log("KING".toLowerCase());
console.log("KING".toLocaleLowerCase());
console.log('nana'.toUpperCase());
console.log('nana'.toLocaleUpperCase());



================================trim() 去字符串两边的空格===================================
var str=' ab c ';
console.log("!"+str+"!");
console.log("!"+str.trim()+"!");

原文地址:https://www.cnblogs.com/18306815575z/p/10301057.html