现在的位置: 首页 > 综合 > 正文

[转载]分享三个js原型

2014年02月22日 ⁄ 综合 ⁄ 共 1785字 ⁄ 字号 评论关闭

这三个方法都是JS里没有的,现在把它写成了原型扩展,供直接调用。

Code:
  1. /**   
  2. * 用正则表达式去掉首尾空格   
  3. * 对应于PHP的trim函数   
  4. * 用法:string.trim();   
  5. **/    
  6. String.prototype.trim = function()    
  7. {    
  8.     return this.replace(/(^/s*)|(/s*$)/g, "");    
  9. }    
  10. /**   
  11. * explode方法   
  12. * 等同于Python里面的splite方法   
  13. * 等同于PHP里的explode方法   
  14. * 用法:string.explode(separators);   
  15. **/    
  16. String.prototype.explode = function(separators){    
  17.     //inputstring = new String(inputstring);    
  18.     separators = new String(separators);    
  19.      
  20.     if(separators == "undefined") {    
  21.         separators = " ,,|"//如果没有separators分割符    
  22.     }    
  23.      
  24.     str = new Array(1); //the return    
  25.     currentElement = "";    
  26.     count = 0;    
  27.      
  28.     for(var i=0; i < this.length; i++) { //遍历整个字符串    
  29.         char = this.charAt(i);    
  30.         if(separators.indexOf(char) != -1) {    
  31.             else {    
  32.                 str[count] = currentElement;    
  33.                 count++;    
  34.                 currentElement = "";    
  35.             }    
  36.         } else {    
  37.             currentElement += char;    
  38.         }    
  39.     }    
  40.     return str;    
  41. }    
  42. /**   
  43. * 把所有全角字符转成半角字符。   
  44. * 用法:string.toDBC();   
  45. **/    
  46. String.prototype.toDBC = function(){    
  47.     var DBCStr = "";    
  48.     for(var i=0; i<this.length; i++){    
  49.         var c = this.charCodeAt(i);    
  50.         if(c == 12288) {//全角空格为12288    
  51.             DBCStr += String.fromCharCode(32);//转成半角空格为32    
  52.             continue;    
  53.         }    
  54.         //其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248    
  55.         if (c > 65280 && c < 65375) {    
  56.             DBCStr += String.fromCharCode(c - 65248);    
  57.             continue;    
  58.         }    
  59.         if (c > 65280 && c < 65375) {    
  60.             DBCStr += String.fromCharCode(c - 65248);    
  61.             continue;    
  62.         }    
  63.         DBCStr += String.fromCharCode(c);    
  64.     }    
  65.     return DBCStr;    
  66. }  

抱歉!评论已关闭.