字符串的方法

 

========================类型==============================

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));

posted @ 2019-01-05 16:32  南酒!  阅读(166)  评论(0编辑  收藏  举报