2019.1.5JavaScript

JS字符串对象:

===================字面量法创建字符串对象================

var str='king';              //创建一个字符串
console.log(typeof str); //string        //输出的数据类型为字符串String

var strObj=new String('king');        //new创建一个对象
console.log(typeof strObj); //object

console.log(strObj[0]); //k          //输出对象中的相对的下标结果是k
console.log(strObj.length); //4        //对象中的长度为4
console.log(strObj.valueOf()); //king      //使用 valueOf() 来取得此对象的原始值
console.log(strObj.toString()); //king       //转换成字符串,结果还是king
console.log("nana"[0]); //n            //直接输出字符串"nana"中的0下标
console.log("helloworld".length); //10       //字符串长度为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';
console.log(str.charAt(0));          //根据下标找字符串的指定字符  k
console.log(str.charAt(1));          //i
console.log(str.charAt(2));
console.log(str.charAt(3));
console.log(str.charAt(-100));          //正负数都是一个空的值,输出的是空

====================charCodeAt():返回指定字符的ASCII码值=====================

var str='abcdef';                  //创建一个字符串
console.log(str.charCodeAt(0));            //下标是0,找到a  转换成ASCll码是97  输出97
console.log(str.charAt(6));              //输出的是空
console.log(str.charCodeAt(23));            //找不到下标,正负都一样,结果输出NaN

======================fromCharCode():根据指定的ASCII放回对应的字符================

console.log(String.fromCharCode(97));          //找到97对应的ASCll码为a  输出的就是a
console.log(String.fromCharCode(65,66,67));        //多个用逗号隔开,依次输出ABC

====================concat():连接字符串=========================

var str='hello ';
console.log(str.concat('world'));            //连接起来,输出hello world
console.log(str.concat('world ','!'));            //输出hello world !

======================字符串搜索相关==========================

var str='this is a test';
console.log(str.indexOf('t'));        //按下标搜索
console.log(str.indexOf('is'));        //输出结果为2
console.log(str.indexOf('Is'));         //搜索不到为-1
console.log(str.indexOf('i'));          //2
console.log(str.indexOf('i',5));          //后面5,从下标5开始搜索,结果输出为5

=====================通过indexOf()可以统计一个字符在指定字符串中出现的次数========================

var str='sssssdlkfjlwk34jlksdfjlksjdlf234';        //创建一个字符串
var count=0;                  //声明变量,初始值为0
var pos=str.indexOf('s');               //声明变量,用.indexOf统计括号中用引号的字符串
while(pos!=-1){                   //用while循环,条件是搜索的字符串不会不存在
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('h'.localeCompare('j'));//-1      //转换成ASCLL码来进行比较
console.log('z'.localeCompare('a'));//1
console.log('a'.localeCompare('a'));//0
console.log('b'.localeCompare('B'));//1

=====================match():找到一个或多个正则表达式的结果================

var str='this is a test of king show time';        //创建一个字符串
var re=/IS/i;                     //创建一个变量,找正则表达要放在/  /   里面,后面的i 表示不区分大小写
console.log(str.match(re));                //输出的就是index:2

var str='QWERTYUIOPASDFGHJKLZXCVBNMqwertyuioasdfghjkzxcvbnm';          //创建一个字符串
console.log(str.match(/[a-f]/ig));        //输出的正则内容是a~f中的其中一个不区分大小写,g是全局的意思,全部

==================search():根据正则表达式进行搜索=================

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

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);                  //在全部的字符串输出找到所有的is并输出

var str="2015-09-26";                    //创建一个字符串
var newStr=str.replace(/(d{4})-(d{2})-(d{2})/,"$2*$3*$1");      //在/   /里写入正则,d所有数· 422输出的数值  $判断上面的对应
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);

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

var str='abcdef';
console.log(str.slice(2));        //按下标找,从2开始截取,到最后
console.log(str.slice(0,2));         //下标0~2,不包括2
console.log(str.slice(-3));
console.log(str.slice(-4,-2));        //负数从后找
console.log(str.slice(0,-1));

console.log(str.substr(3));
console.log(str.substr(0,4));

====================split()将字符串拆分成数组=======================

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);            //前面是分界线,后面的值是要拆分的数值个数
console.log(arr);

===================字符串大小写相关=====================

console.log("KING".toLowerCase());          //字符串变小写
console.log("KING".toLocaleLowerCase());
console.log('nana'.toUpperCase());          //字符串变大写
console.log('nana'.toLocaleUpperCase());

toLowerCase()和toUpperCase()是两个经典的方法,借鉴自java.lang.String中的同名方法。而toLocaleLowerCase()和toLocaleUpperCase()方法则是针对特定地区的实现。

=======================trim()去字符串两边的空格==================

var str=' ab c ';  
//alert("!"+str+"!");        //弹出!加字符串
alert("!"+str.trim()+"!");        //取消字符串两边的空格  中间有空格依旧是空格

=============产生锚点============

锚点:是网页制作中超级链接的一种,又叫命名锚记。命名锚记像一个迅速定位器一样是一种页面内的超级链接。

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));      //输入的文本内容拼接上引入的链接

 

原文地址:https://www.cnblogs.com/liuwei1/p/10225759.html