查漏补缺,本周做项目时发现自己对字符串的处理容易出错,重新整理,希望能有温故而知新的效果

js区分大小写,string和String不是一回事。

String 是构造函数,typeof String 是function,可调用new String(stringValue),将参数转换为字符串,并作为一个String 对象。JavaScript String()函数

string是变量的一个类型,typeof string 是 string

String 对象属性

属性 描述
constructor 对创建该对象的函数的引用
length 字符串的长度
prototype 允许您向对象添加属性和方法

String 对象方法

改变字符串样式的方法

var str="Hello World!"

str.big() 		//用大号字体显示字符串。
str.small() 		//用小号字体显示字符串。
str.bold() 		//粗体
str.italics() 		//斜体
str.blink() 		//显示闪动字符串。
str.fixed() 		//以打字机文本显示字符串。
str.strike() 		//使用删除线来显示字符串。
str.fontcolor("Red") 	//使用指定的颜色来显示字符串。
str.fontsize(16) 	//使用指定的尺寸来显示字符串。
str.toLowerCase() 	//把字符串转换为小写。
str.toUpperCase() 	//把字符串转换为大写。
//toLocaleLowerCase()与toLowerCase() 不同的是,toLocaleLowerCase() 方法按照本地方式把字符串转换为小写。
//只有几种语言(如土耳其语)具有地方特有的大小写映射,所有该方法的返回值通常与 toLowerCase() 一样。
str.toLocaleLowerCase() 	//把字符串转换为小写。
str.toLocaleUpperCase() 	//把字符串转换为大写。
str.sub() 	//把字符串显示为下标。
str.sup() 	//把字符串显示为上标。
str.link('http://www.baidu.com') //将字符串显示为链接。

检索或截取字符串的方法

var str="Hello world!"
//indexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置,如果要检索的字符串值没有出现,则该方法返回 -1
//indexOf() 方法对大小写敏感。
str.indexOf("Hello") 	//0
str.indexOf("World") 	//-1
str.indexOf("world") 	//6
//lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。
//如果要检索的字符串值没有出现,则该方法返回 -1。
//lastIndexOf() 方法对大小写敏感!
str.lastIndexOf("Hello") //0
str.lastIndexOf("World") //-1
str.lastIndexOf("world") //6
//charAt() 方法可返回指定位置的字符。
str.charAt(1) 		//e
//charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。
str.charCodeAt(1) 	//101
//substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。
str.substr(3) 		//lo world!
str.substr(3,7) 	//lo worl
//slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
str.slice(6) 		//happy world!
str.slice(6,11) 	//happy
//substring() 方法用于提取字符串中介于两个指定下标之间的字符。
//substring() 与 slice() 和 substr() 方法不同的是,substring() 不接受负的参数。
str.substring(3) 	//lo world!
str.substring(3,7) 	//lo w

连接和分割字符串的方法

//concat() 方法用于连接两个或多个字符串。
var str1="Hello "
var str2="world!"
str1.concat(str2) 	//Hello world!

//split() 方法用于把一个字符串分割成字符串数组。
var str="How are you doing today?"
str.split(" ") 	//How,are,you,doing,today?
str.split("") 	//H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?
str.split(" ",3) 	//How,are,you
"2:3:4:5".split(":")	//将返回["2", "3", "4", "5"]
"|a|b|c".split("|")	//将返回["", "a", "b", "c"]
//使用正则表达式
str.split(/\s+/)	//["How", "are", "you", "doing", "today?"]

替换和匹配字符串的方法

//match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
var str="Hello world!"
str.match("world")	//有值:world
str.match("World")     //没有值:null
"1 plus 2 equal 3".match(/\d+/g)   //1,2,3

//replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
//stringObject.replace(regexp/substr,replacement)
var str="Visit Microsoft!"
str.replace(/Microsoft/,"W3School") //Visit W3School!
str.replace(/Microsoft/g, "W3School") 	//全局替换
str.replace(/Microsoft/i, "W3School") 	//忽略大小写匹配,替换
//转换引号
name = '"a", "b"';
name.replace(/"([^"]*)"/g, "'$1'")      //'a', 'b'
//转换姓名的格式
name = "Doe, John";
document.write(name.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1"));	//John Doe
//把单词的首字母转换为大写
name = 'aaa bbb ccc';
uw = name.replace(/\b\w+\b/g, function(word){
	return word.substring(0,1).toUpperCase()+word.substring(1);}
	);
document.write (uw);	//Aaa Bbb Ccc

//search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。
//search() 方法不执行全局匹配,它将忽略标志 g。它同时忽略 regexp 的 lastIndex 属性
//并且总是从字符串的开始进行检索,这意味着它总是返回 stringObject 的第一个匹配的位置。
var str="Visit W3School!"
str.search(/W3School/)	//有值:6
str.search(/w3school/)  //没有值:-1
//忽略大小写的检索
str.search(/w3school/i) //6

其他方法

//anchor() 方法用于创建 HTML 锚。
var txt="Hello world!"
txt.anchor("myanchor") 	//<a name="myanchor">Hello world!</a>
//fromCharCode() 可接受一个指定的 Unicode 值,然后返回一个字符串。
String.fromCharCode(72,69,76,76,79) 	//HELLO
//valueOf() 方法可返回 String 对象的原始值。
//当调用该方法的对象不是 String 时抛出 TypeError 异常。
stringObject.valueOf()

localeCompare() 方法,用本地特定的顺序来比较两个字符串。

ECMAScript 类型转换

转换成字符串toString()

转换成数字parseInt() 和 parseFloat()

ECMAScript 中可用的 3 种强制类型转换: Boolean(value) - 把给定的值转换成 Boolean 型; Number(value) - 把给定的值转换成数字(可以是整数或浮点数); String(value) - 把给定的值转换成字符串;