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返回字符串中一个子串第一处出现的索引(从左到右搜索)。若是没有匹配项,返回-1code

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用来获取指定位置的字符ip

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返回字符串的一个子串,传入参数是起始位置和长度。get

var a = "hello";

var sub_string1 = a.substr(1);
//sub_string1 = "ello"
var sub_string2 = a.substr(1,2);
//sub_string2 = "el"

4. 字符串分割为数组

split经过将字符串划分红子串,将一个字符串作成一个字符串数组。string

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是严格大小写的it

6.1 替换一次

var a = "hello world";
var result = a.replace(/world/,"otto");
//result = "hello otto";

6.2 全局替换

执行一次全局替换,每当Microsoft被找到,它就被替换为Worldio

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;
    }
}