字符串的格式化功能的实现_js实现连接字符串及变量

更新日期: 2018-03-09阅读量: 1795标签: 字符串

在开发中过程中,经常会遇到使用占位符的形式来格式化字符串,如下:

var test = '我的{0}是{1}';
var result = test.format('老婆','美女');//结果为:我的老婆是美女


我们通过js扩展String.prototype.format字符串拼接的功能,实现如下:


方案一:

String.prototype.format = function(){
    if(arguments.length==0){
        return this;
    }
    for(var s=this, i=0; i<arguments.length; i++){
        s = s.replace(new RegExp("\\{"+i+"\\}","g"), arguments[i]);
    }
    return s;
};


方案二:

String.prototype.format = function(args) {
    var result = this;
    if(arguments.length > 0) {
        if(arguments.length == 1 && typeof(args) == "object") {
            result = result.replace(/\{(\w+)\}/g, function() {
                var old = arguments[0],
                    key = arguments[1];
                if(args[key] != undefined) {
                    return args[key];
                }
                return old;
            });
        } else {
            var arr = arguments;
            result = result.replace(/\{(\d+)\}/g, function() {
                var old = arguments[0],
                    key = parseInt(arguments[1]);
                if(arr[key] != undefined) {
                    return arr[key];
                }
                return old;
            });
        }
    }
    return result;
};

方案2除了上面的形式,还可以如下调用:

var test = '我的{name1}是{name2}';
var result = test.format({name1:'老婆',name2:'美女'});


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

链接: https://www.fly63.com/article/detial/493

js中String.prototype实现string过滤空格_字符串空格过滤

我们都知道prototype可以向对象上添加属性和方法,语法如下:object.prototype.name=value。这篇文章就是利用prototype,为字符串扩展过滤空格的方法

es6中新增的字符串方法

es6中新增的字符串方法:字符串模板用法${变量名}、字符串查找方法string.includes(要找得字符串)、检查字符串是否已xxx开头、字符串重复方法string.repeat(次数)、字符串填充string.padStart

JS截取字符串之substring、substr和slice详解

本文详细的介绍了JavaScript中substring()、substr()和slice()三个js字符串截取的方法,substring()方法用于提取字符串中介于两个指定下标之间的字符.substr 方法用于返回一个从指定位置开始的指定长度的子字符串。

Js字符串数组初始化

后续的处理是需要遍历这整个数组去完成某些功能,不关心这些字符串的相对顺序。但我们在维护这个字符串数组的时候会感觉有些不方便,比如太长、没有分类

js中字符串截取的几种方式

众所周知,js提供了很多字符串截取的方式。下面主要介绍js中slice(),splice(),split(),substring(),substr()的使用和区别,主要介绍了JavaScript截取、切割字符串的技巧,需要的朋友可以参考

JavaScript计算字符串所占字节数

最近项目有个需求要用js计算一串字符串写入到localStorage里所占的内存,众所周知的,js是使用Unicode编码的。而Unicode的实现有N种,其中用的最多的就是UTF-8和UTF-16。

javaScript 如何使用js追加字符串呢?

字符串的操作是任何一门计算机语言都必须面对的问题,那么js中我们该如何对字符串进行相关操作列,下文将一一道来: 常见的字符串追加有以下三种需求:

Js实现字符串压缩

字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母

JS数组转字符串方法总汇

JavaScript 允许数组与字符串之间相互转换。其中 Array 方法对象定义了 3 个方法,可以把数组转换为字符串,如表所示。

JavaScript字符串转数字的5种方法及其陷阱

parseInt: 没有传入基数时,默认是传入的基数为 10 parseInt(num, 10),如果你不知道 num 属性的类型,不要使用 parseInt 进行字符串转数字。parseFloat: 转换十六进制数时要小心,如果你不知道要转换对象的类型,不要使用 parseFloat。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!