>  기사  >  데이터 베이스  >  字符串处理的两个小技巧

字符串处理的两个小技巧

WBOY
WBOY원래의
2016-06-07 15:05:39989검색

在项目开发的过程中,常常遇到一些HTML与动态数据组成字符串的东西,写起代码会特别的累。下面我会分享两个小技巧。 第一个是事符串的格式化: 事符格式化 /* * * 事符格式化 */ String.format = function (str){ var args = arguments,re = new RegExp( " %

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

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

字符串处理的两个小技巧字符串处理的两个小技巧事符格式化

/**
* 事符格式化
*/
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"}));

 

 

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.