检测类型
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开始到字符结束