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

时间: 2018-03-09阅读: 1590标签: 字符串

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

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

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

js提取字符串中的数值

1.像生于1999年这样字符串中只含有一个整型数值的字符串,直接使用正则表达式将数字的字符删除掉就行:2.对于字符串中含有多数值,使用字符串的match方法,通过正则表达式提取字符串的所有数字(包含整数和小数):

字符串拼接引发的BUG

我们先温习一下JavaScript基础知识。在JavaScript中,根据+左右两边变量的类型的不同,+符号可以用于数字相加或则字符串拼接。我用了string += +string这样的写法,也就是说:由于写代码的时候拷贝黏贴,不小心整了一个多余的+号?

js 字符串转换数字

js 字符串转换数字方法主要有三种: 转换函数、强制类型转换、利用js变量弱类型转换。 js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。

对比 Redis 的字符串和散列

本章从开头到现在, 陆续介绍了 HSET 、 HSETNX 、 HGET 、 HINCRBY 和 HINCRBYFLOAT 等多个散列命令, 如果读者对上一章介绍过的字符串命令还有印象的话, 那么应该会记得

js如何替换字符串中匹配到多处中某一指定节点?

抛出一个问题,如图,搜索关键字,匹配到四处,那我鼠标放在第二处,我想把它变个颜色,该怎么实现呢?回到文章的标题,js如何替换字符串中匹配到多处中某一指定节点?

Js替换字符串的几种方法

替换字符串中的文本是 JavaScript 中的常见任务。本文研究几种用 replace 和正则表达式替换文本的方法。通常 JavaScript 的 String replace() 函数只会替换它在字符串中找到的第一个匹配的子符

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

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

JS字符串首字母都大写的几种方法

正则+replace思路:用正则将字符串拆分为单词数组,并对每个单词进行首字母大写处理。这里简单的把字母、数字、下划线和单撇号都视为了单词成员。

Js字符串数组初始化

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

es6中模板字符串

字符串拼接是开发时一个必不可少的环节,也是很恶心的一个环节,尤其是又臭又长的html字符串拼接。为什么说html字符串拼接很恶心呢,主要有以下几点:

点击更多...

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