文档章节

javascript js string.Format()收集

maweitao
 maweitao
发布于 2014/09/09 19:40
字数 305
阅读 3.5K
收藏 10

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

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了"
 String.prototype.format = function() {
    var s = this;
    for (var i = 0; i < arguments.length; i++) {
        var reg = new RegExp("\\{" + i + "\\}", "gm");
        s = s.replace(reg, arguments[i]);
    }
    return s;
};
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);
 

相信做前端开发的朋友都受过这个折磨:连接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);

© 著作权归作者所有

maweitao
粉丝 12
博文 27
码字总数 26297
作品 0
武汉
私信 提问
加载中

评论(0)

8年javascript知识点积累

08年毕业就开始接触javascript,当时是做asp.net发现很多功能用asp.net控件解决不了,比如checkbox单选,全选问题,自动计算总价问题,刷新问题,等等。那时感觉javascript好讨厌,没有好的框...

nd
2016/05/30
0
0
Ext.Msg.prompt的高级应用

1、简单例子: <mce:script language="javascript" type="text/javascript"><!-- function toSettlement() { Ext.Msg.prompt("标题", "消息提示", function (btn, text) { if (btn = "ok") {......

梦想生活
2012/12/05
1.7K
0
Asp.net中使用javascrip的模态窗体的一点体会

将模块窗口的弹出丢在了一个公共类(Function)的方法里面进行处理(其实早就该这么做)。 eg: public string ModalWindow(string openAspxPage,int width,int height) { string js = string.For...

晨曦之光
2012/05/16
103
0
AjaxPro In WebApp

本文属于小结,主要有二个目的 1.网上一些人说AjaxPro在WebApplication中无法应用的问题 2.简化AjaxPro注册加载方式(基于性能方面的考虑) 1.AjaxPro在WebApplication中配置 Web.Config...

RicoRui
2010/04/14
0
0
提示信息窗口的JS实现(附源码)_AX

这个功能比较好,用处也比较多,就有了这篇blog,其中,调试用了2个小时,发现使用javascript就是浪费时间!太TMD的难调试了! 为了方便大家Copy代码,我就没有把JS文件和CSS文件写在单独的file里! 【...

斧头帮少帮主
2007/04/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何限制利用spring boot 框架自动限制上传文件

spring:   application:     name: appname   servlet:     multipart:       enabled: true       max-file-size: 512MB       max-request-size: 512MB @Ex...

osc_31d5oo2i
55分钟前
24
0
NATAPP1分钟快速新手图文教程(远程办公程序员联调神器)

NATAPP官方地址:https://natapp.cn/ 应用场景:前后端异地联调、系统演示、远程临时访问 首先在本站注册账号 点击注册 登录后,点击左边 购买隧道,免费/付费均可 根据需要选择隧道协议,这里以...

明德先生
56分钟前
16
0
李子柒的视频为什么这么吸引人?对她在B站上发布的视频进行分析

前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 作者:CDA数据分析师 加企鹅群695185429即可免费获取,资料全...

osc_tc2z9lbh
56分钟前
25
0
MySQL如何有效的存储IP地址

前几天,阿淼的一个朋友去面试,他回来告诉我,面试官问他 IP 地址是怎么存在数据库的?他当时也没多想,直接就回答的存字符串啊(心想:这么简单的问题,怕不是看不起我吧) 前面这段权当看...

osc_q5m9dzk0
58分钟前
32
0
一口气说出8种幂等性解决重复提交的方案,面试官懵了!

1.什么是幂等 在我们编程中常见幂等 1)select查询天然幂等 2)delete删除也是幂等,删除同一个多次效果一样 3)update直接更新某个值的,幂等 4)update更新累加操作的,非幂等 5)insert非幂等操作...

osc_kd8rd7b3
59分钟前
27
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部