javascript模拟实现C# String.format函数功能代码


Posted in Javascript onNovember 25, 2013

C# string.format这个功能用到的地方比较多, 所以就用js实现了一个简单的版本 :

String.format = function ()
        {
            var formatStr = arguments[0];
            if ( typeof formatStr === 'string' )
            {
                var pattern,
                    length = arguments.length;
                for ( var i = 1; i < length; i++ )
                {
                    pattern = new RegExp( '\\{' + ( i - 1 ) + '\\}', 'g' );
                    formatStr = formatStr.replace( pattern, arguments[i] );
                }
            } else
            {
                formatStr = '';
            }
            return formatStr;
        };

以上代码给javascript String类加了一个静态方法 format, 然后其用法就和c#的 string.format一模一样了, 测试如下:

String.format('http://wcf.open.a.com/blog/sitehome/paged/{0}/{1}',1,20)
输出: "http://wcf.open.a.com/blog/sitehome/paged/1/20"
String.format('{0}+{0}+{1}={2}',1,2,1+1+2)
输出: "1+1+2=4"
String.format({name:'leonwang'},'hello,world')
输出: ""

如果第一个参数不是string类型, 就简单返回空string, 不做进一步处理。

Javascript 相关文章推荐
经典的带阴影的可拖动的浮动层
Jun 26 Javascript
javascript RadioButtonList获取选中值
Apr 09 Javascript
javascript页面上使用动态时间具体实现
Mar 18 Javascript
jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
Dec 12 Javascript
jQuery设置Easyui校验规则(推荐)
Nov 21 Javascript
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
Dec 14 Javascript
详解jQuery同步Ajax带来的UI线程阻塞问题及解决办法
Aug 09 jQuery
javaScript实现游戏倒计时功能
Nov 17 Javascript
浅谈Vue服务端渲染框架Nuxt的那些事
Dec 21 Javascript
微信小程序3种位置API的使用方法详解
Aug 05 Javascript
JS制作简易计算器的实例代码
Jul 04 Javascript
基于element-ui对话框el-dialog初始化的校验问题解决
Sep 11 Javascript
js给onclick赋值传参数的两种方法
Nov 25 #Javascript
自己动手实现jQuery Callbacks完整功能代码详解
Nov 25 #Javascript
写JQuery插件的基本知识
Nov 25 #Javascript
JavaScript动态操作表格实例(添加,删除行,列及单元格)
Nov 25 #Javascript
用javascript删除当前行,添加行(示例代码)
Nov 25 #Javascript
如何通过javascript操作web控件的自定义属性
Nov 25 #Javascript
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
Nov 25 #Javascript
You might like
15个小时----从修改程序到自己些程序
2006/10/09 PHP
玩转虚拟域名◎+ .
2006/10/09 PHP
福利彩票幸运号码自动生成器
2006/10/09 PHP
解析PHP实现下载文件的两种方法
2013/07/05 PHP
php网站被挂木马后的修复方法总结
2014/11/06 PHP
WordPress开发中的get_post_custom()函数使用解析
2016/01/04 PHP
php中二分法查找算法实例分析
2016/09/22 PHP
深入理解javaScript中的事件驱动
2013/05/21 Javascript
Firefox中使用outerHTML的2种解决方法
2014/06/07 Javascript
js中的caller和callee属性介绍和例子
2014/06/07 Javascript
javascript数组遍历for与for in区别详解
2014/12/04 Javascript
js图片卷帘门导航菜单特效代码分享
2015/09/10 Javascript
jQuery密码强度检测插件passwordStrength用法实例分析
2015/10/30 Javascript
jQuery获取父元素及父节点的方法小结
2016/04/14 Javascript
js document.getElementsByClassName的使用介绍与自定义函数
2016/11/25 Javascript
angular2 ng build部署后base文件路径问题详细解答
2017/07/15 Javascript
微信小程序 自定义消息提示框
2017/08/06 Javascript
微信小程序实现留言功能
2018/10/31 Javascript
ElementUI Tag组件实现多标签生成的方法示例
2019/07/08 Javascript
Python for Informatics 第11章之正则表达式(四)
2016/04/21 Python
Python实现采用进度条实时显示处理进度的方法
2017/12/19 Python
matplotlib简介,安装和简单实例代码
2017/12/26 Python
Django 跨域请求处理的示例代码
2018/05/02 Python
python实现将读入的多维list转为一维list的方法
2018/06/28 Python
Python操作MySQL数据库实例详解【安装、连接、增删改查等】
2020/01/17 Python
Python实现打包成库供别的模块调用
2020/07/13 Python
python Matplotlib数据可视化(1):简单入门
2020/09/30 Python
Stubhub英国:购买体育、演唱会和剧院门票
2018/06/10 全球购物
公司活动策划方案
2014/01/13 职场文书
机电专业大学生职业规划书范文
2014/02/25 职场文书
外联部演讲稿
2014/05/24 职场文书
走进敬老院活动总结
2014/07/10 职场文书
辩论会主持词
2015/07/03 职场文书
使用canvas仿Echarts实现金字塔图的实例代码
2021/11/11 HTML / CSS
java如何实现获取客户端ip地址的示例代码
2022/04/07 Java/Android
Python Matplotlib绘制等高线图与渐变色扇形图
2022/04/14 Python