//封装StringBuilder

function StringBuilder() { this._string_ = new Array(); }

StringBuilder.prototype.Append = function (str) { this._string_.push(str); }

StringBuilder.prototype.toString = function () { return this._string_.join(""); }

//trim去掉字符串两边的指定字符,默去空格

String.prototype.Trim = function (str) { if (!str) { str = '\\s'; } else { if (str == '\\') { str = '\\\\'; } else if (str == ',' || str == '|' || str == ';') { str = '\\' + str; } else { str = '\\s'; } } eval('var reg=/(^' + str + '+)|(' + str + '+$)/g;'); return this.replace(reg, ''); };

String.prototype.trim = function (str) { return this.Trim(str); };

//判断一个字符串是否为NULL或者空字符串

String.prototype.isNull = function () { return this == null || this.trim().length == 0; }

String.prototype.equals = function (str) { return this == str; }

//字符串截取后面加入...

String.prototype.interceptString = function (len) {

if (this.length > len) {

return this.substring(0, length - 1) + "...";

}

else {

return this;

}

}

//获得一个字符串的字节数

String.prototype.countLength = function () { var strLength = 0; for (var i = 0; i < this.length; i++) { if (this.charAt(i) > '~') strLength += 2; else strLength += 1; } return strLength; }

//根据指定的字节数截取字符串

String.prototype.cutString = function (cutLength) { if (!cutLength) { cutLength = this.countLength(); } var strLength = 0; var cutStr = ""; if (cutLength > this.countLength()) { cutStr = this; } else { for (var i = 0; i < this.length; i++) { if (this.charAt(i) > '~') { strLength += 2; } else { strLength += 1; } if (strLength >= cutLength) { cutStr = this.substring(0, i + 1); break; } } } return cutStr; };

//关于链接的操作命名空间

var Link = {};

//把一个字符串变成链接

Link.Filter = function (str) {

var urlReg = /http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=])?[^ <>\[\]*(){}\u4E00-\u9FA5]+/gi;   //lio 2012-4-25 eidt   //         /^[\u4e00-\u9fa5\w]+$/;\u4E00-\u9FA5

return str.replace(urlReg, function (m) { return '<a target="_blank" href="' + m + '">' + m + '</a>'; });

}

//验证一个字符串时候是email

RegExp.isEmail = function (str) {

var emailReg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)*\.[\w-]+$/i;

return emailReg.test(str);

}

//验证一个字符串是否是URL

RegExp.isUrl = function (str) {

var patrn = /^http(s)?:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\:+!]*([^<>])*$/;

return patrn.exec(str);

}

//验证一个字符串是否是电话或传真

RegExp.isTel = function (str) {

var pattern = /^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;

return pattern.exec(str);

}

//验证一个字符串是否是手机号码

RegExp.isMobile = function (str) {

var patrn = /^((13[0-9])|(15[0-35-9])|(18[0,2,3,5-9]))\d{8}$/;

return patrn.exec(str);

}

//验证一个字符串是否是汉字

RegExp.isZHCN = function (str) {

var p = /^[\u4e00-\u9fa5\w]+$/;

return p.exec(str);

}

//验证一个字符串是否是数字

RegExp.isNum = function (str) {

var p = /^\d+$/;

return p.exec(str);

}

//验证一个字符串是否是纯英文

RegExp.isEnglish = function (str) {

var p = /^[a-zA-Z., ]+$/;

return p.exec(str);

}

// 判断是否为对象类型

RegExp.isObject = function (obj) {

return (typeof obj == 'object') && obj.constructor == Object;

}

//验证字符串是否不包含特殊字符 返回bool

RegExp.isUnSymbols = function (str) {

var p = /^[\u4e00-\u9fa5\w \.,(),ê?。¡ê(ê¡§)ê?]+$/;

return p.exec(str);

}

//将一个字符串用给定的字符变成数组,

String.prototype.toArray = function (str) {

if (this.indexOf(str) != -1) {

return this.split(str);

}

else {

if (this != '') {

return [this.toString()];

}

else {

return [];

}

}

};

//根据数据取得再数组中的索引

Array.prototype.getIndex = function (obj) {

for (var i = 0; i < this.length; i++) {

if (obj == this[i] || obj.equals(this[i])) {

return i;

}

}

return -1;

}

//移除数组中的某元素

Array.prototype.remove = function (obj) {

for (var i = 0; i < this.length; i++) {

if (obj.equals(this[i])) {

this.splice(i, 1);

break;

}

}

return this;

};

//判断元素是否在数组中

Array.prototype.contains = function (obj) {

for (var i = 0; i < this.length; i++) {

if (obj == this[i] || obj.equals(this[i])) {

return true;

}

}

return false;

};

js一些通用方法的封装的更多相关文章

  1. js常用通用方法

    验证身份证详细方法 function isCardNo(pId) { var arrVerifyCode = [1, 0, "x", 9, 8, 7, 6, 5, 4, 3, 2] ...

  2. JS中数组方法的封装之slice

    slice方法的功能 // 1) : 数组的截取 // 2) :slice(m,n): 从数组索引m开始,截取到索引n,但是不包含n;[前包后不包] // slice(m) : 从索引m开始,截取到末 ...

  3. jsonp跨域 封装通用方法

    jsonp跨域 封装通用方法 //用法如下 jsonp({ url:"https://www.xxxx.com", params:{wd:'b'}, callback:'show' ...

  4. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_4-3.登录检验JWT实战之封装通用方法

    笔记 3.登录检验JWT实战之封装通用方法     讲解:引入相关依赖并开发JWT工具类 1.加入相关依赖 <!-- JWT相关 -->             <dependenc ...

  5. js方法的封装

    封装是为了更好的调用,当我们很多页面都需要同一种方法的时候,为了避免每个页面都需要进行重写方法,增加工作量,这个时候就需要我们对部分公共的方法进行封装,这样便于更好的进行调用 我在写接口的时候用到了 ...

  6. js添加事件通用方法

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. 【CSS进阶】原生JS getComputedStyle等方法解析

    最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美. 其结构明晰,高内聚.低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷.渐 ...

  8. .NET基础架构方法—DataTableToExcel通用方法

    p { display: block; margin: 3px 0 0 0; } --> .NET架构基础方法—DataTableToExcel通用方法(NPOI) 今天封装DataTaleTo ...

  9. 使用 highchart 绘制柱状图的通用方法与接口

    本文给出使用 highchart 绘制柱状图的通用方法与接口, 只要指定相应的数据结构和配置, 就可以直接拿来使用. 一.  数据结构与基本接口   一般绘制图形, 会涉及到较复杂的数据结构, 比如使 ...

随机推荐

  1. MM32看门狗学习(兼容STM32)

    MM32看门狗学习(兼容STM32) IWDG独立看门狗 思维导图 IWDG框图与理解 1.独立看门狗分为两个部分,配置寄存器在1.8V供电区,计数器的核心部分在VDD供电区(即使停机/待机模式计数器 ...

  2. ServletContextListener 解析用法

    ServletContext 被 Servlet 程序用来与 Web 容器通信.例如写日志,转发请求.每一个 Web 应用程序含有一个Context,被Web应用内的各个程序共享.因为Context可 ...

  3. MediaPlayer+SurfaceView 视频播放 示例

    SurfaceView的原理         SurfaceView在视频播放中起到显示画面的作用,而视频的播放主要通过MediaPlayer来控制.         SurfaceView 允许我们 ...

  4. TreeView绑定无限层级关系类

    protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Bind_TV(TreeView1.Nodes); ...

  5. (转,感谢原作者!)既然选择了Linux,有何必在乎这些——Linux wine国服LOL英雄联盟,完美运行!!

    Linux下玩国服LOL,国服哦.网络上随处都可以搜到wine美服LOL的教程,但腾讯运营的国服客户端跟美服原版相差比较大,按照美服的方式不能搞起国服LOL,由于宿舍文化,这几天我专注于wine一个国 ...

  6. Smokeping如何清空图标数据

    先停smokeping服务 service smokeping stop 进去图表数据目录 /opt/smokeping/data /bin/rm -rf ./*   重新加载/opt/smokepi ...

  7. Windows8 正式版最简单的去除桌面水印方法

    方法一: 优点:无需替换文件,无需任何工具,对系统没有副作用缺点:更换主题或者壁纸之后水印再现方法:按住 “win键+P” 进入 “第二屏幕 ”选择 “扩展”再按住 “win键+P” 进入 “第二屏幕 ...

  8. 安全管理:IE6安全隐患重重 为何不离不弃

    安全服务商Zscaler的报告称,尽管微软IE6曾遭受一系列强势攻击并且新出的IE版本有更强的安全性能,但IE6依然受到各企业的热捧. 尽管微软一直敦促用户部署浏览器更新(截止2010年八月就将满九年 ...

  9. gc内存回收机制

    判断哪些对象可回收 GC是通过对象是否存活来决定是否进行回收,判断对象是否存活主要有两种算法:引用计数算法.可达性分析算法 引用计数算法 引用计数的算法原理是给对象添加一个引用计数器,每被引用一次计数 ...

  10. iOS中解析 XML / JSON

    JSON数据格式 1. 概述: JSON (JavaScript Object Notation) 是⼀一种轻量级的数据交换格式 基于⽂文本格式,易于⼈人阅读和编写,同时也易于机器解析和⽣生成. 2. ...