javascript js string.Format()收集

简介:

方案1http://www.cnblogs.com/loogn/archive/2011/06/20/2085165.html 

复制代码
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("({" + key + "})", "g");
                    result = result.replace(reg, args[key]);
                }
            }
        }
         else {
             for ( var i = 0; i < arguments.length; i++) {
                 if (arguments[i] != undefined) {
                     var reg =  new RegExp("({[" + i + "]})", "g");
                    result = result.replace(reg, arguments[i]);
                }
            }
        }
    }
     return result;
}
复制代码
// 两种调用方式
  var template1="我是{0},今年{1}了";
  var template2="我是{name},今年{age}了";
  var result1=template1.format("loogn",22);
  var result2=template2.format({name:"loogn",age:22});
  // 两个结果都是"我是loogn,今年22了"
 
 
复制代码
复制代码

方案2http://www.cnblogs.com/senion/archive/2011/02/25/1964567.html

复制代码
function stringFormat() {
          if (arguments.length == 0)
              return  null;
          var str = arguments[0];
          for ( var i = 1; i < arguments.length; i++) {
              var re =  new RegExp('\\{' + (i - 1) + '\\}', 'gm');
             str = str.replace(re, arguments[i]);
         }
          return str;
     } 
 
 StringFormat("&Type={0}&Ro={1}&lPlan={2}&Plan={3}&={4}&Id={5}&Id={6}", data1, data2, data3,data4, data5,data6,data7);
复制代码

 

方案3http://jonllen.iteye.com/blog/389267

 

相信做前端开发的朋友都受过这个折磨:连接HTML的时候被可恶的单引号、双引号搞得头昏脑胀。比如:
element.innerHTML = ‘<a href=”‘ + url + ‘” onclick=”alert(\” + msg + ‘\’);”>’ + text + ‘</a>’;
这里介绍一个字符串格式化函数:

复制代码
String.format =  function(str) {
var args = arguments, re =  new RegExp(”%([1-" + args.length + "])”, “g”);
return String(str).replace(
re,
function($1, $2) {
return args[$2];
}
);
};
调用方法很简单:
element.innerHTML = String.format(’<a href=”%1″ onclick=”alert(\’%2\’);”>%3</a>’, url, msg, text);
复制代码



意思就是用第n个参数把%n替换掉。这样一来清晰多了吧。

其它思路

http://code.google.com/p/jquery-utils/wiki/StringFormat

通过jquery 扩展

 


本文转自火地晋博客园博客,原文链接:http://www.cnblogs.com/yelaiju/archive/2012/03/27/2419212.html,如需转载请自行联系原作者

目录
相关文章
|
14天前
|
JavaScript 前端开发
【JavaScript】——JS基础入门常见操作(大量举例)
JS引入方式,JS基础语法,JS增删查改,JS函数,JS对象
|
2月前
|
JavaScript 前端开发 Java
springboot解决js前端跨域问题,javascript跨域问题解决
本文介绍了如何在Spring Boot项目中编写Filter过滤器以处理跨域问题,并通过一个示例展示了使用JavaScript进行跨域请求的方法。首先,在Spring Boot应用中添加一个实现了`Filter`接口的类,设置响应头允许所有来源的跨域请求。接着,通过一个简单的HTML页面和jQuery发送AJAX请求到指定URL,验证跨域请求是否成功。文中还提供了请求成功的响应数据样例及请求效果截图。
springboot解决js前端跨域问题,javascript跨域问题解决
|
2月前
|
JavaScript 前端开发
Moment.js与其他处理时间戳格式差异的JavaScript库相比有什么优势?
Moment.js与其他处理时间戳格式差异的JavaScript库相比有什么优势?
|
2月前
|
JSON JavaScript 前端开发
使用JavaScript和Node.js构建简单的RESTful API
使用JavaScript和Node.js构建简单的RESTful API
|
2月前
|
JavaScript 前端开发 开发者
|
3月前
|
人工智能 JavaScript 前端开发
使用Node.js模拟执行JavaScript
使用Node.js模拟执行JavaScript
36 2
|
3月前
|
消息中间件 JavaScript 前端开发
用于全栈数据流的 JavaScript、Node.js 和 Apache Kafka
用于全栈数据流的 JavaScript、Node.js 和 Apache Kafka
54 1
|
3月前
|
移动开发 JavaScript 前端开发
【JavaScript】JS执行机制--同步与异步
【JavaScript】JS执行机制--同步与异步
33 1
|
3月前
|
JavaScript 前端开发
电话号码正则表达式 代码 javascript+html,JS正则表达式判断11位手机号码
电话号码正则表达式 代码 javascript+html,JS正则表达式判断11位手机号码
141 1
|
3月前
|
存储 JavaScript 前端开发
JavaScript 字符串(String) 对象
JavaScript 字符串(String) 对象
51 3
下一篇
开通oss服务