关闭

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

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

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

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截取字符串之substring、substr和slice详解

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

js如何截取字符串后几位?

javascript截取字符串的方法有substring(start,stop)、substr(start,length)、slice(start,end),通过设置其中参数就可以截取字符串后几位。

常用的String原型

对于常用的字符串原型的举例:在字符串末尾追加字符串 、删除指定索引位置的字符,索引无效将不删除任何字符 、删除指定索引区间的字符串 、检查字符串是否以subStr结尾

js提取字符串中的数值

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

JavaScript的padStart()和padEnd()格式化字符串使用技巧

几天前,我正在使用JavaScript构建倒数计时器,因此我需要格式化秒和毫秒,我希望秒始终是2位数的长度,而毫秒总是3位数的长度,换句话说,我希望 1 秒显示为 01,1 毫秒显示为 001。

javascript如何将字符串转成字符串数组?

javascript如何将字符串转成字符串数组?下面本篇文章就来给大家介绍一下使用javascript将字符串转换成字符串数组的方法,希望对大家有所帮助。

JavaScript 字符串实用方法总汇

JavaScript 字符串用于存储和处理文本。因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Date 时,诸此等等,繁不能数;

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

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

es6字符串的扩展

字符的 Unicode 表示法;codePointAt(); String.fromCodePoint();字符串的遍历器接口;normalize();includes(), startsWith(), endsWith(); repeat();

JS通过身份证号码获取出生年月日和性别

String.substr(start,length) -- start,开始截取下标 length,截取的长度 ;String.replace(/(.{4})(.{2})/,\"$1-$2-\"); --正则,$1-,$2- 分别是引用,前面正则匹配到的字符串

点击更多...

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