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 相关文章推荐
jquery 读取页面load get post ajax 四种方式代码写法
Apr 02 Javascript
jquery 卷帘效果实现代码(不同方向)
Feb 05 Javascript
浅谈js对象的创建和对6种继承模式的理解和遐想
Oct 16 Javascript
MUI 解决动态列表页图片懒加载再次加载不成功的bug问题
Apr 13 Javascript
纯js实现图片匀速淡入淡出效果
Aug 22 Javascript
详解Angular6 热加载配置方案
Aug 18 Javascript
vue+element创建动态的form表单及动态生成表格的行和列
May 20 Javascript
JS实现的字符串数组去重功能小结
Jun 17 Javascript
前端Electron新手入门教程详解
Jun 21 Javascript
weui中的picker使用js进行动态绑定数据问题
Nov 06 Javascript
Element实现表格嵌套、多个表格共用一个表头的方法
May 09 Javascript
JavaScript基于用户照片姓名生成海报
May 29 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
php模拟socket一次连接,多次发送数据的实现代码
2011/07/26 PHP
smarty中英文多编码字符截取乱码问题解决方法
2014/10/28 PHP
浅谈thinkphp的实例化模型
2015/01/04 PHP
[原创]php正则删除img标签的方法示例
2017/05/27 PHP
用js生产批量批处理执行命令
2008/07/28 Javascript
JQuery中如何传递参数如click(),change()等具体实现
2013/04/28 Javascript
Extjs单独定义各组件的实例代码
2013/06/25 Javascript
使用JS读秒使用示例
2013/09/21 Javascript
JavaScript实现的双向跨域插件分享
2015/01/31 Javascript
iPhone手机上搭建nodejs服务器步骤方法
2015/07/06 NodeJs
jQuery实现类似标签风格的导航菜单效果代码
2015/08/25 Javascript
Vue.js使用v-show和v-if的注意事项
2016/12/13 Javascript
js实现的简练高效拖拽功能示例
2016/12/21 Javascript
详解基于Koa2开发微信二维码扫码支付相关流程
2018/05/16 Javascript
js使用文件流下载csv文件的实现方法
2019/07/15 Javascript
用JavaScript实现贪吃蛇游戏
2020/10/23 Javascript
[01:13]这,就是刀塔
2014/07/16 DOTA
Django小白教程之Django用户注册与登录
2016/04/22 Python
python创建列表和向列表添加元素的实现方法
2017/12/25 Python
对Python字符串中的换行符和制表符介绍
2018/05/03 Python
Python实现的简单计算器功能详解
2018/08/25 Python
python识别图像并提取文字的实现方法
2019/06/28 Python
python中安装django模块的方法
2020/03/12 Python
selenium+python配置chrome浏览器的选项的实现
2020/03/18 Python
Django多数据库配置及逆向生成model教程
2020/03/28 Python
Python正则表达式如何匹配中文
2020/05/27 Python
浅析pandas随机排列与随机抽样
2021/01/22 Python
python 将Excel转Word的示例
2021/03/02 Python
优衣库英国官网:UNIQLO英国
2016/12/25 全球购物
化工专业个人的求职信范文
2013/11/28 职场文书
违反学校规定检讨书
2014/01/18 职场文书
优秀本科生求职推荐信
2014/02/24 职场文书
道德演讲稿
2014/05/21 职场文书
党的群众教育实践活动实施方案
2014/06/12 职场文书
本科毕业论文答辩稿
2015/06/23 职场文书
Python连接Postgres/Mysql/Mongo数据库基本操作大全
2021/06/29 Python