JavaScript String 对象-常用知识点
对象用于处理文本(字符串)。
对象创建方法: new String()。
String 对象属性
属性 | 描述 |
---|---|
constructor | 对创建该对象的函数的引用 |
length | 字符串的长度 |
prototype | 允许您向对象添加属性和方法 |
prototype相关使用
定义和用法
prototype 属性允许您向对象添加属性和方法
注意: Prototype 是全局属性,适用于所有的 Javascript 对象。
语法
object.prototype.name=value
实例
function employee(name,jobtitle,born){
this.name=name;
this.jobtitle=jobtitle;
this.born=born;
}
var fred=new employee("Fred Flintstone","Caveman",1970);
employee.prototype.salary=null;
fred.salary=20000;
document.write(fred.salary);
String 对象方法
方法 | 描述 |
---|---|
charAt() | 返回在指定位置的字符。 |
concat() | 连接两个或更多字符串,并返回新的字符串。 |
endsWith() | 判断当前字符串是否是以指定的子字符串结尾的(区分大小写)。 |
fromCharCode() | 将 Unicode 编码转为字符。 |
indexOf() | 返回某个指定的字符串值在字符串中首次出现的位置。 √ |
includes() | 查找字符串中是否包含指定的子字符串。 |
lastIndexOf() | 从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置。 √ |
match() | 查找找到一个或多个正则表达式的匹配。 |
repeat() | 复制字符串指定次数,并将它们连接在一起返回。 |
replace() | 在字符串中查找匹配的子串,并替换与正则表达式匹配的子串。 |
replaceAll() | 在字符串中查找匹配的子串,并替换与正则表达式匹配的所有子串。 |
search() | 查找与正则表达式相匹配的值。 |
slice() | 提取字符串的片断,并在新的字符串中返回被提取的部分。 |
split() | 把字符串分割为字符串数组。 |
startsWith() | 查看字符串是否以指定的子字符串开头。 |
substr() | 从起始索引号提取字符串中指定数目的字符。 |
substring() | 提取字符串中两个指定的索引号之间的字符。 |
toLowerCase() | 把字符串转换为小写。 |
toUpperCase() | 把字符串转换为大写。 |
trim() | 去除字符串两边的空白。 |
toLocaleLowerCase() | 根据本地主机的语言环境把字符串转换为小写。 |
toLocaleUpperCase() | 根据本地主机的语言环境把字符串转换为大写。 |
valueOf() | 返回某个字符串对象的原始值。 |
toString() | 返回一个字符串。 |
charAt() 返回在指定位置的字符。
var str = "HELLO WORLD";
var n = str.charAt(2) // n = 'L'
concat() 连接两个或更多字符串,并返回新的字符串。
var str1 = "Hello ";
var str2 = "world!";
var n = str1.concat(str2); // n = 'Hello world!'
includes() 查找字符串中是否包含指定的子字符串。
var str = "Hello world, welcome to the Runoob。";
var n = str.includes("world");// n = true
match() 查找找到一个或多个正则表达式的匹配。
var str="The rain in SPAIN stays mainly in the plain";
var n=str.match(/ain/g);
/*
n 输出数组结果值:ain,ain,ain
*/
定义和用法
match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
如果想了解更多正则表达式教程请查看本站的: RegExp 教程 和我们的 RegExp 对象参考手册。
注意: match() 方法将检索字符串 String Object,以找到一个或多个与 regexp 匹配的文本。这个方法的行为在很大程度上有赖于 regexp 是否具有标志 g。如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配。如果没有找到任何匹配的文本, match() 将返回 null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。
语法
string.match(regexp)
参数值
参数 描述 regexp 必需。规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。 返回值
类型 描述 Array 存放匹配结果的数组。该数组的内容依赖于 regexp 是否具有全局标志 g。 如果没找到匹配结果返回 null 。 技术细节
JavaScript 版本: 1.2
repeat() 复制字符串指定次数,并将它们连接在一起返回。
var str = "Runoob";
str.repeat(2); // RunoobRunoob
replace() 在字符串中查找匹配的子串,并替换与正则表达式匹配的子串。
var str="Visit Microsoft! Visit Microsoft!";
var n=str.replace("Microsoft","Runoob"); // n = Visit Runoob!Visit Microsoft!
// 执行一个全局替换:
var str="Mr Blue has a blue house and a blue car";
var n=str.replace(/blue/g,"red");
// n 输出结果:
// Mr Blue has a red house and a red car
语法
string.replace(searchvalue,newvalue)
参数值
参数 描述 searchvalue 必须。规定子字符串或要替换的模式的 RegExp 对象。 请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。 newvalue 必需。一个字符串值。规定了替换文本或生成替换文本的函数。 返回值
类型 描述 String 一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。
replaceAll() 在字符串中查找匹配的子串,并替换与正则表达式匹配的所有子串。
var str="Visit Microsoft! Visit Microsoft!";
var n=str.replaceAll("Microsoft","Runoob");
// n 输出结果:
// Visit Runoob!Visit Runoob!
search() 查找与正则表达式相匹配的值。
var str="Visit Runoob!";
var n=str.search("Runoob");
// 执行一次对大小写敏感的查找:
var str="Mr. Blue has a blue house";
document.write(str.search("blue"));
//以上实例输出结果: 15
// 执行一次忽略大小写的检索:
var str="Mr. Blue has a blue house";
document.write(str.search(/blue/i));
// 以上实例输出结果: 4
定义和用法
search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。
如果没有找到任何匹配的子串,则返回 -1。
查看更多正则表达式教程 RegExp 教程 and our RegExp 对象参考手册.
slice() 提取字符串的片断,并在新的字符串中返回被提取的部分。
// 提取所有字符串:
var str="Hello world!";
var n=str.slice(0);
// 以上实例输出结果:
Hello world!
// 提取字符串的片断:
var str="Hello world!";
var n=str.slice(1,5);
// n 输出结果:
ello
// 提取最后一个字符和最后两个字符:
var str="Hello world!";
var n=str.slice(-1);
var n2=str.slice(-2);
// 以上实例输出结果:
!
d!
定义和用法
slice(start, end) 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
使用 start(包含) 和 end(不包含) 参数来指定字符串提取的部分。
start 参数字符串中第一个字符位置为 0, 第二个字符位置为 1, 以此类推,如果是负数表示从尾部截取多少个字符串,slice(-2) 表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素)。
end 参数如果为负数,-1 指字符串的最后一个字符的位置,-2 指倒数第二个字符,以此类推。
语法
string.slice(start,end)
参数值
参数 描述 start 必须。 要抽取的片断的起始下标,第一个字符位置为 0。如果为负数,则从尾部开始截取。 end 可选。 紧接着要截取的片段结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。slice(-2) 表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素)。 返回值
类型 描述 String 提取的字符串
substr() 从起始索引号提取字符串中指定数目的字符。
// 抽取指定数目的字符:
var str="Hello world!";
var n=str.substr(2,3)
// n 输出结果:
llo
定义和用法
substr() 方法可在字符串中抽取从 开始 下标开始的指定数目的字符。
提示: substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。
在 IE 4 中,参数 start 的值无效。在这个 BUG 中,start 规定的是第 0 个字符的位置。在之后的版本中,此 BUG 已被修正。
ECMAscript 没有对该方法进行标准化,因此反对使用它。注意: substr() 方法不会改变源字符串。
语法
string.substr(start,length)
参数值
参数 描述 start 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。 length 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。 返回值
类型 描述 String A new string containing the extracted part of the text
substring() 提取字符串中两个指定的索引号之间的字符。
<!--在本例中,我们将使用 substring() 从字符串中提取一些字符:-->
<script>
var str="Hello world!";document.write(str.substring(3)+"<br>");document.write(str.substring(3,7));</script>
<!--
以上代码输出结果:
lo world!
lo w
-->
定义和用法
substring() 方法用于提取字符串中介于两个指定下标之间的字符。
substring() 方法返回的子串包括 开始 处的字符,但不包括 结束 处的字符。
语法
string.substring(from, to)
参数 描述 from 必需。一个非负的整数,规定要提取的子串的第一个字符在 string Object 中的位置。 to 可选。一个非负的整数,比要提取的子串的最后一个字符在 string Object 中的位置多 1。 如果省略该参数,那么返回的子串会一直到字符串的结尾。
toLocaleLowerCase() 根据本地主机的语言环境把字符串转换为小写。
// 将字符串转换为小写:
var str = "Runoob";
var res = str.toLocaleLowerCase();
// res 输出结果: runoob
定义和用法
toLocaleLowerCase() 方法根据本地主机的语言环境把字符串转换为小写。
本地是根据浏览器的语言设置来判断的。
通常,该方法与 toLowerCase() 方法返回的结果相同,只有几种语言(如土耳其语)具有地方特有的大小写映射。
注意: toLocaleLowerCase() 方法没有改变原始字符串。
提示: 使用 toLocaleUpperCase() 方法根据本地主机的语言将字符串转换为大写。
toLocaleUpperCase() 根据本地主机的语言环境把字符串转换为大写。
// 实例
// 把字符串转换为大写:
var str="Runoob";
document.write(str.toUpperCase());
toString() 返回一个字符串。
// 返回一个 String 对象的值:
var str = "Runoob";
var res = str.toString();
// res 输出结果: Runoob