博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字符串处理的两个小技巧
阅读量:4933 次
发布时间:2019-06-11

本文共 1056 字,大约阅读时间需要 3 分钟。

在项目开发的过程中,常常遇到一些HTML与动态数据组成字符串的东西,写起代码会特别的累。下面我会分享两个小技巧。

第一个是事符串的格式化:

ExpandedBlockStart.gif
事符格式化
/*
*
* 事符格式化
*/
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
];
    }
    );
};

 

上面的代码是我从163的前端博客上抄过来的。实际应用还是挺方便的。

把这个代码贴在你的JS里就可以直接使用了。怎么使用?还是给个例子吧。

var
 temp 
=
 
"
使用%1代码,去实现%2
"
;
alert(String.format(temp,
"
JS
"
,
"
功能1
"
));   
//
会提示使用JS代码,去实现功能1
alert(String.format(temp,
"
PHP
"
,
"
功能2
"
));  
//
会提示使用PHP代码,去实现功能2

 

temp相当于一个模板。format函数里,根据参数顺序去模板里的名字。

 

第二个同样是事符串的格式化,不过我作了小小的变化,虽然性能可能没那么快,不过使用就更为方便一些, 不用去看是哪个位置:

String.formatmodel = function
(str,model){
    
for(var k in
 model){
        
var re = new RegExp("{
"+k+"}","g"
);
        str 
=
 str.replace(re,model[k]);
    }
    
return
 str;
}

 

这个方法是可以直接传递对象进去。使用例子是:

var
 temp 
=
 
"
使用{code}代码,去实现{fun}
"
;
alert(String.formatmodel(temp,{code:
"
JS
"
,fun:
"
功能1
"
}));
alert(String.formatmodel(temp,{code:
"
PHP
"
,fun:
"
功能2
"
}));

 

 

这两个小技巧希望可以帮助在开发过程中少做一些繁琐的事情。

转载于:https://www.cnblogs.com/Max-Gan/archive/2011/01/27/1946163.html

你可能感兴趣的文章
fabric-network_setup.sh安装脚本分析
查看>>
MapReduce进行数据查询和实现推简单荐系统
查看>>
LeetCode题解-----First Missing Positive
查看>>
关于spring的aop拦截的问题 protected方法代理问题
查看>>
ASP.NET 页面之间传递值的几种方式
查看>>
BeginInvoke 方法真的是新开一个线程进行异步调用吗?
查看>>
sed笔记
查看>>
怎样优化大量图片的加载,提高用户体验
查看>>
SRM 521 解题报告
查看>>
V1.0 - 2006.7.12
查看>>
java函数式编程入门教程
查看>>
分享一个Jni调用的demo
查看>>
iOS所有icon尺寸
查看>>
nginx 负载均衡配置及解释说明
查看>>
《设计模式之禅》学习笔记(十)
查看>>
数据库的基本概念
查看>>
教你如何在linux上永久修改网卡mac地址
查看>>
可拖动面板
查看>>
A*算法完全理解
查看>>
QT 线程暂停,继续执行的一种实现
查看>>