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