JS字符串格式化~欢迎来搂~~

/*
    函数:格式化字符串
    参数:str:字符串模板; data:数据
    调用方式:formatString("api/values/{id}/{name}",{id:101,name:"test"});
             formatString("api/values/{0}/{1}",101,"test");  ****字符串中需要替换的数据用 {} 括起来,注意花括号里面不能有空格,data建议使用自定义对象,也就是python中的字典
*/
function formatString(str, data) {
    if (!str || data == undefined) {
        return str;
    }

    if (typeof data === "object") {
        for (var key in data) {
            if (data.hasOwnProperty(key)) {
                str = str.replace(new RegExp("\{" + key + "\}", "g"), data[key]);
            }
        }
    } else {
        var args = arguments,
            reg = new RegExp("\{([0-" + (args.length - 1) + "])\}", "g");
        return str.replace(reg, function(match, index) {
            return args[index - (-1)];
        });
    }
    return str;
}

原文地址:https://www.cnblogs.com/dongxixi/p/10992238.html

时间: 2024-11-02 05:58:25

JS字符串格式化~欢迎来搂~~的相关文章

js 字符串格式化方法

String.prototype.format = function(args) { var result = this; if (arguments.length > 0) { if (arguments.length == 1 && typeof (args) == "object") { for (var key in args) { if(args[key]!=undefined){ var reg = new RegExp("({"

js 字符串格式化

在js 文件中写一个函数 String.prototype.format = function(args) { var result = this; if (arguments.length > 0) { if (arguments.length == 1 && typeof (args) == "object") { for (var key in args) { if(args[key]!=undefined){ var reg = new RegExp(&q

[javascript]编码&i字符串格式化&nput历史记录&清空模态框

js中编码问题 https://www.haorooms.com/post/js_escape_encodeURIComponent 我在前端js添加时候创建dom时候,有汉字,发现是乱码就研究了下 针对字符编码 javascript:escape("\u6625\u8282"); //输出 "%u6625%u8282" javascript:unescape("%u6625%u8282"); //输出 "春节" javasc

js中格式化时间字符串

.net 程序员肯定有遇到过,将一个对象json序列化之后Date 字段 就会转化成 '/Date(1370770323740)/' 这种格式的数据,下面介绍一种在js中,关于时间格式的转换. <script> function formatDate(date, format) { if (!date) return; if (!format) format = "yyyy-MM-dd"; switch(typeof date) { case "string&qu

JS 字符串转日期格式 日期格式化字符串

1 /** 2 * @author 陈维斌 3 * 如果想将日期字符串格式化,需先将其转换为日期类型Date 4 * 以下是提供几种常用的 5 * 6 * var da = new Date().format('yyyy-MM-dd hh:mm:ss'); //将日期格式串,转换成先要的格式 7 * alert("格式化日期类型 \n" + new Date() + "\n 为字符串:" + da); 8 * 9 * var str = "2014/01/

Js获取当前日期时间及Js日期格式化

Js获取当前日期时间: 1 var myDate = new Date(); 2 myDate.getYear(); //获取当前年份(2位) 3 myDate.getFullYear(); //获取完整的年份(4位,1970-????) 4 myDate.getMonth(); //获取当前月份(0-11,0代表1月) 5 myDate.getDate(); //获取当前日(1-31) 6 myDate.getDay(); //获取当前星期X(0-6,0代表星期天) 7 myDate.getT

从js的repeat方法谈js字符串与数组的扩展方法

js将字符串重复N次的repeat方法的8个版本 /* *@desc: 将一个字符串重复自身N次 */ //版本1:利用空数组的join方法 function repeat(target, n) { return (new Array(n + 1)).join(target); } //版本2:之所以要创建一个带length属性的对象 是因为要调用数据的原型方法,需要指定call的第一个参数为类数组对象 //类数组对象的必要条件是其length属性的值为非负数 function repeat(t

html 转 js 字符串

看到一个牛人的博客  http://riny.net/lab/#tools_html2js 看了下他的代码  挺棒的 所依赖的两个库在这里 https://github.com/Bubblings/lab/tree/master/tools/js <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document<

js数字格式化-四舍五入精简版

搜索网上的,数字格式化过余复杂,自己想了个简单方法,欢迎吐槽. 简化说明: '123333' => 12.3万 parseInt('123333') 字符串转整型 parseInt('123333')/1000 先除以1000,预留小数位数 Math.round(parseInt('123333')/1000),四舍五入到整数 (Math.round(parseInt('123333')/1000)/10) 除以10保留1位小数 (Math.round(parseInt('123333')/10