js字符串处理
1. 字符串拼接
2. 查找字符串
3. 字符串截取
4. 字符串分割为数组
5. 大小写转换
6. 字符串替换
7. 正则表达式匹配
8. 一些扩展
1. 字符串拼接
concat
将2个或多个字符串拼接起来
var a = "hello";
var b = ",world";
var c = a.concat(b);
// c = "hello,world"
2. 查找字符串
2.1 查找第一次出现的位置
indexOf
返回字符串中一个子串第一处出现的索引(从左到右搜索)。如果没有匹配项,返回-1
。
var a = "helolo";
var index1 = a.indexOf("l");
//index1 = 2
var index2 = a.indexOf("l",3);//表示从第4位开始查找“l”第一次出现的位置
//index2 = 4
2.2 查找最后一次出现的位置
lastIndexOf
返回字符串中一个子串第一处出现的索引(从左到右搜索)。如果没有匹配项,返回-1
。
var a = "helolo";
var index1 = a.lastIndexOf("l");
//index1 = 4
var index2 = a.lastIndexOf("l",2);
//index2 = 2
3. 字符串截取
3.1 返回指定位置的字符
charAt
用来获取指定位置的字符
var a = "hello";
var get_char = a.charAt(0);
//get_char = "h"
3.2 通过起始位置和结束位置截取字符串
substring
返回字符串的一个子串,传入参数是起始位置和结束位置。
var a = "hello";
var sub_string1 = a.substring(1);
//sub_string1 = "ello"
var sub_string2 = a.substring(1,4);
//sub_string2 = "ell"
3.3 通过起始位置和长度截取字符串
substr
返回字符串的一个子串,传入参数是起始位置和长度。
var a = "hello";
var sub_string1 = a.substr(1);
//sub_string1 = "ello"
var sub_string2 = a.substr(1,2);
//sub_string2 = "el"
4. 字符串分割为数组
split
通过将字符串划分成子串,将一个字符串做成一个字符串数组。
var a = "hello";
var arr1 = a.split("");
//arr1 = [h,e,l,l,o]
5. 大小写转换
5.1 将整个字符串转成小写字母
var a = "Hello";
var lower_string = a.toLowerCase();
//lower_string = "hello"
5.2 将整个字符串转成大写字母
var a = "Hello";
var upper_string = a.toUpperCase();
//upper_string = "HELLO"
6. 字符串替换replace
p.s.replace
是严格大小写的
6.1 替换一次
var a = "hello world";
var result = a.replace(/world/,"otto");
//result = "hello otto";
6.2 全局替换
执行一次全局替换,每当Microsoft
被找到,它就被替换为World
var str="Welcome to Microsoft! "
str=str + "We are proud to announce that Microsoft has "
str=str + "one of the largest Web Developers sites in the world."
var result = str.replace(/Microsoft/g,"World");
//result = "Welcome to World! We are proud to announce that World has one of the largest Web Developers sites in the world.";
6.3 将字符串中所有单词的首字母都转换为大小写
var name = 'aaa bbb ccc';
var result = name.replace(/\b\w+\b/g, function (word) {
return word.substring(0, 1).toUpperCase() + word.substring(1);
}
);
//result = "Aaa Bbb Ccc";
7. 正则表达式匹配
7.1 match
match
检查一个字符串匹配一个正则表达式内容,如果不匹配则返回 null。
var a = "hello";
var b = ",world";
var re = new RegExp(/^\w+$/);
var is_alpha1 = a.match(re);
//is_alpha1 = "hello"
var is_alpha2 = b.match(re);
//is_alpha2 = null
8. 扩展
8.1 获取文件名
function getFileName(originalname) {
var indexNum = originalname.lastIndexOf('.');
if (indexNum != -1) {
var fileName = originalname.substr(0, indexNum);
return fileName;
} else {
return "NULL";
}
}
var result = getFileName("233.333-333.text");
//result = "233.333-333";
8.2 判断是否是正确的IP地址
function isIP(str) {
var reSpaceCheck = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;
if (reSpaceCheck.test(str)) {
str.match(reSpaceCheck);
if (RegExp.$1 <= 255 && RegExp.$1 >= 0
&& RegExp.$2 <= 255 && RegExp.$2 >= 0
&& RegExp.$3 <= 255 && RegExp.$3 >= 0
&& RegExp.$4 <= 255 && RegExp.$4 >= 0) {
return true;
}
else {
return false;
}
}
else {
return false;
}
}