javascript基础 字符串
查漏补缺,本周做项目时发现自己对字符串的处理容易出错,重新整理,希望能有温故而知新的效果
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() 方法,用本地特定的顺序来比较两个字符串。
转换成数字parseInt() 和 parseFloat()
ECMAScript 中可用的 3 种强制类型转换: Boolean(value) - 把给定的值转换成 Boolean 型; Number(value) - 把给定的值转换成数字(可以是整数或浮点数); String(value) - 把给定的值转换成字符串;