在php中提供了一个 trim 函数可以很轻松的去掉字符串首尾指定的字符串,但在原生的 javascript 脚本中,如果想实现同样的功能,就需要我们自己写一个自定义函数来实现。

js定义一个trim函数

js自定一个 trim 函数,并使用参数对字符串的头与尾进行分类处理,可参考下面的参数!

参数:

str:被处理的字符串

char:需要去除的字符串

type:定义去除字符串头部或尾部的的字符,值有 left(头部),right(尾巴),缺省的话则为去除字符串的两边!

function trim(str,char,type){
    if (char) {
        if (type == 'left') {
            return str.replace(new RegExp('^\\' + char + '+', 'g'), '');
        } else if (type == 'right') {
            return str.replace(new RegExp('\\' + char + '+$', 'g'), '');
        }
        return str.replace(new RegExp('^\\' + char + '+|\\' + char + '+$', 'g'), '');
    }
    return str.replace(/^\s+|\s+$/g, '');
}

自定义的trim函数调用方法

1、trim函数去掉字符串头尾的空格

注:由于不无直接展示处理后的结果,所以这里的示例都以获取字符串的长度来做为比较!

var str = ' feiniaomy.com ';
console.log(str.length); //15 
console.log(trim(str,' ').length); // 13
console.log(trim(str,' ', 'left').length); // 14
console.log(trim(str,' ', 'right').length); // 14

2、trim函数去掉字符串头尾指定的字符

var str = '/feiniaomy.com/';
console.log(trim(str, '/'));  //  feiniaomy.com
console.log(trim(str, '/', 'left')); //  feiniaomy.com/
console.log(trim(str, '/', 'right'));//  /feiniaomy.com

PS:

如果感觉上面定义的函数不好调用,可以使用下面的示例方法,在调用时可以按照JS预设的函数调用方法来使用!

示例:

//参数: 要去除的字符串 ,定义去掉字符串的位置
String.prototype.trim = function (char, type) {
    if (char) {
        if (type == 'left') {
            return this.replace(new RegExp('^\\' + char + '+', 'g'), '');
        } else if (type == 'right') {
            return this.replace(new RegExp('\\' + char + '+$', 'g'), '');
        }
        return this.replace(new RegExp('^\\' + char + '+|\\' + char + '+$', 'g'), '');
    }
    return this.replace(/^\s+|\s+$/g, '');
};
// 去掉空格
var str = ' feiniaomy.com ';
console.log(str.length); //15
console.log(str.trim().length); // 13
// 去掉左边空格
str = ' feiniaomy.com ';
console.log(str.trim(' ', 'left').length); // 14
// 去掉右边空格
str = ' feiniaomy.com ';
console.log(str.trim(' ', 'right').length); // 14
// 去掉指字字符
str = '/feiniaomy.com/';
console.log(str.trim('/')); //feiniaomy.com
// 去除左边字符
str = '/feiniaomy.com/';
console.log(str.trim('/','left')); // feiniaomy.com/
// 去指右边字符
str = '/feiniaomy.com/';
console.log(str.trim('/','right')); // /feiniaomy.com