字符串的方法
========================类型==============================
var str='king';
console.log(typeof str); string
var strObj=new String('king');
console.log(typeof strObj); obj
========================================================
console.log(strObj[0]); k输出下标为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 字符串的长度
=========================了解============================
var str=String('1234');
str=String(true); true
str=String({x:1}); [object Object]
str=String(null); null
console.log(str);
======================charAt()=============================
var str='king';
charAt()根据下标返回指定的字符
console.log(str.charAt(0)); k
console.log(str.charAt(1)); i
console.log(str.charAt(2)); n
console.log(str.charAt(3)); g
console.log(str.charAt(10)); 空的 什么都不显示 没有找到下标为10的字符
======================charCodeAt()==========================
var str='abcdef';
charCodeAt():返回指定字符的ASCII码值
console.log(str.charCodeAt(0)); 107
console.log(str.charAt(6)); 空的什么都不显示 没有找到下标为6的字符
console.log(str.charCodeAt(-123)); NaN 字符串的第一个下标是0,如果是负数的话 或者大于等于字符串的长度 返回的是NaN
======================fromCharCode()========================
fromCharCode():根据指定的ASCII放回对应的字符
console.log(String.fromCharCode(97)); //a
console.log(String.fromCharCode(65,66,67)); //A B C
=======================concat()=============================
concat():连接字符串
var str='hello ';
console.log(str.concat('world')); hello world
console.log(str.concat('world ','!')); hellow world !
======================indexOf()===========================
字符串搜索相关
var str='this is a test';
console.log(str.indexOf('t')); 输出0
console.log(str.indexOf('is')); 输出2 搜素的是is整体 搜索到i的位置就输出
console.log(str.indexOf('Is')); 搜索不到输出-1
console.log(str.indexOf('i')); 2
console.log(str.indexOf('i',5)); ('i',5) 5是开始搜索的位置(下标) 空格也算一个字符
通过indexOf()可以统计一个字符在指定字符串中出现的次数
var str='sssssdlkfjlwk34jlksdfjlksjdlf234';
var count=0;
var pos=str.indexOf('s');
while(pos!=-1){
count++;
pos=str.indexOf('s',pos+1);
}
console.log(count);
lastIndexOf():最后一次出现的位置
var str='this is a test';
console.log(str.indexOf('is')); //2
console.log(str.lastIndexOf('is')); //5
=========================localeCompare====================
比较两个字符串 前面的比后面的 按照ASCII码进行比较 前面的大于后面的输出的是大于零的数 后面的大于前面的输出的是小于0的数
console.log('h'.localeCompare('j'));//-1
console.log('z'.localeCompare('a'));//1
console.log('a'.localeCompare('a'));//0
console.log('b'.localeCompare('B'));//1
===========================match():=======================
match():找到一个或多个正则表达式的结果 返回的是内容
var str='this is a test of king show time';
var re=/IS/i; //找的东西放在//里面 i不区分大小写
console.log(str.match(re));
var str='QWERTYUIOPASDFGHJKLZXCVBNMqwertyuioasdfghjkzxcvbnm';
console.log(str.match(/[a-f]/ig)); [a-f]找其中的任意一个都行 i不区分大小写 g全局查找
========================search()=======================
search():根据正则表达式进行搜索 返回的是下标而且不读取全局(g)
var str='this is a test';
console.log(str.search(/is/)); 2
console.log(str.search(/IS/)); -1
console.log(str.search(/IS/i)); 2
======================replace()=======================
replace替换 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);
var str="2015-09-26";
var newStr=str.replace(/(\d{4})-(\d{2})-(\d{2})/,"$2*$3*$1"); (\d{n})代表的是0-9要n位 $替换位置
console.log(newStr);
var str="2015-09-25";
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);
======================截取字符串=====================
截取字符串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开始到字符结束
=================split(separator,howmany)==============
split(separator,howmany)将字符串拆分成数组
split(howmany)括号内的东西是去掉字符串中括号内有的东西 并且替换成逗号 成为数组
如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
var str='2015-08-12';
var arr=str.split('-');
console.log(arr);
var str='a b c d e f';
var arr=str.split(' ');
console.log(arr);
arr=str.split(' ',3); split(' ',3) 后边的3表示长度 只要3个
console.log(arr);
================字符串大小写========================
字符串大小写相关
与 toLowerCase() 不同的是,toLocaleLowerCase() 方法按照本地方式把字符串转换为小写。只有几种语言(如土耳其语)具有地方特有的大小写映射,所有该方法的返回值通常与 toLowerCase() 一样。
console.log("KING".toLowerCase()); 小写
console.log("KING".toLocaleLowerCase());
console.log('nana'.toUpperCase()); 大写
console.log('nana'.toLocaleUpperCase());
=================trim()============================
trim()去字符串两边的空格 只是字符串俩边的空格里面的不会去掉
var str=' ab c ';
alert("!"+str+"!");
alert("!"+str.trim()+"!");
==================================================
产生锚点 给span标签加了a标签 括号内是给a标签加了个名字
var str='<span style="color:red;">this is test</span>';
document.body.innerHTML=str.anchor('contents_anchor');
==================================================
产生链接
var title='this is of king show time';
var url='http://phpfamily.org';
document.write('Click Me to Visit My Blog'+title.link(url));