String对象
-
String对象用于处理文本(字符串)
-
创建String对象的语法:
new Sting(“abcde”);
-
创建原始类型字符串变量:
var name1 = “wang”;
var name2 = String(“wang”); -
创建引用类型字符串对象:
var name3 = new String(“wang”);
字符串的使用
-
Javascript中的字符串内容是不可变的。String对象的大部分方法,返回的都是一个全新的对象,而不是修改原始字符串内容,如:
var s1 = new String(‘hello’);
var s2 = s1.toUpperCase();
console.log(s1);
console.log(s2); -
Length属性返回字符串中字符的个数。Javascript字符串默认采用Unicode字符集,中文字符也只算一个字符。
var s1 = new String(‘abc中文’);
console.log(s1.length);
格式编排方法

大小写转换方法
- toLowerCase() 方法返回字符串的完全小写形式
- toUpperCase() 方法返回字符串的完全大写形式
var name = ‘WangMing’;
var lowerName = name.toLowerCase();
var upperName = name.toUpperCase();
console.log(name);
console.log(lowerName);
console.log(upperName);

获取指定位置的字符
- charAt(index) 方法用于获取指定下标处的字符
var s1 = new String("abc中文def");
var s2 = s1.charAt(2);
console.log(s2);
//c
- charCodeAt(index) 方法用于获取指定下标处的字符的Unicode码
var s1 = new String("abc中文def");
console.log(s1.charCodeAt(2));
console.log(s1.charCodeAt(3));
console.log(s1.charCodeAt(4));

检索字符串
- indexOf(value,[fromIndex]) 返回第一次出现指定字符的下标
- lastIndexOf(value,[fromIndex]) 返回最后一次出现指定字符串的下标
var email = "stanley.wang@163.com";
console.log(email.indexOf("stanley"));
console.log(email.indexOf("@"));
console.log(email.indexOf("@",5));
console.log(email.lastIndexOf("@"));
console.log(email.lastIndexOf("@",5));
console.log(email.lastIndexOf("mary"));

截取字符串
- slice(start,[end]) 返回从start到end-1范围内的子串;若省略end,则直接获取到字符串结尾
- substring(start,[end]) 返回从start到end-1范围内的子串;若省略end,则直接获取到字符串结尾;
var email = "stanley.wang@163.com";
console.log(email.slice(8,12));
console.log(email.slice(8));
console.log(email.substring(8,12));
console.log(email.substring(8));
console.log(email.slice(-7,-4));
//slice()方法参数可以为负数;substring()参数必须为非负数

分隔字符串
- split(separator,[count]) 使用指定分隔符对字符串进行拆分
var data = "wang||zhang||li||fan";
var arr = data.split("||");
for(var i=0;i<arr.length;i++){
console.log(i+":"+arr[i]);
}

连接字符串
- concat(str1,str2,…) 用于拼接两个或者多个字符串或数组
var s1 = "AA";
var s2 = s1.concat('BB','CC');
console.log(s1);
console.log(s2);

- 还可以使用+做字符串连接
替换子字符串
- replace(substr/regexp,replacement)
方法用于在字符串中用一些字符替换另一些字符,或者替换一个与正则表达式匹配的子串
var s1 = new String("Microsoft is a big Company,microsoft's color is red and has MICROSOFT logo like microsoft");
console.log(s1.replace('microsoft','oracle'));
console.log(s1.replace(/microsoft/g,'oracle'));
console.log(s1.replace(/microsoft/i,'oracle'));
console.log(s1.replace(/microsoft/g,'oracle'));
console.log(s1.replace(/microsoft/ig,'oracle'));

匹配
- match(value/regexp) 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配
- 该方法类似indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置
var s1 = new String("Microsoft is a big Company,microsoft's color is red and has MICROSOFT logo like microsoft");
console.log(s1.match('microsoft'));
console.log(s1.match(/microsoft/g));
console.log(s1.match(/microsoft/i));
console.log(s1.match(/microsoft/g));
console.log(s1.match(/microsoft/ig));

查找
- search(regexp) 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。
- 返回第一个与regexp相匹配的子串的起始位置;如果没有找到任何匹配的子串,返回-1
var s1 = new String("Microsoft is a big Company,microsoft's color is red and has MICROSOFT logo like microsoft");
console.log(s1.search('microsoft'));
console.log(s1.search(/microsoft/i));
//search()方法不支持全局匹配,将忽略标志g

String对象的属性
| 属性 | 描述 |
|---|---|
| constructor | 对创建该对象的函数的引用 |
| length | 字符串的长度 |
| prototype | 允许您向对象添加属性和方法 |
-
constructor属性返回对 String 对象属性创建的函数。
语法:string.constructor -
length属性返回字符串的长度(字符数)。
语法:string.length -
prototype属性允许您向对象添加属性和方法
prototype 是全局属性,适用于所有的 Javascript 对象。
语法:object.prototype.name=value
JS字符串操作详解
本文深入讲解了JavaScript中字符串的各种操作方法,包括创建、格式编排、检索、截取、分隔、连接、替换等,同时介绍了字符串的属性及其实用案例。
1334

被折叠的 条评论
为什么被折叠?



