================================检测类型===================================
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()+"!");