//封装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. Shell脚本:判断用户和用户组是否已经存在/创建用户和用户组

      通常作为一个应用程序的部署脚本,开始的第一项工作是为当前应用创建一个专用(dedicated)的用户和用户组.这个脚本很简单,这里贴一个参考样本: #!/bin/sh user=test_user ...

  2. yii gridview columns value 内容如何换行 & 链接

    array( 'header' => '返回的服务器信息', 'name' => 'return_server_info', 'value' => 'str_replace(&quo ...

  3. 【转】iOS实时卡顿监控

    转自http://www.tanhao.me/code/151113.html/ 在移动设备上开发软件,性能一直是我们最为关心的话题之一,我们作为程序员除了需要努力提高代码质量之外,及时发现和监控软件 ...

  4. 使用Javascript 实现类

    /** * 人类 * @author rubekid */ function Person(options){ //私有属性 var _name; //姓名 var _age; //年龄 /** * ...

  5. 解压版mysql安装--windows系统

    1 解压到某个目录 2 配置配置文件 3 执行命令:安装目录/bin/mysqld --install mysql5.6 --defaults-file=指定配置文件位置 "安装目录/bin ...

  6. 读取XML文件的几种方式的效率分析

    第一种:使用XmlReader来读取. Stopwatch sw = Stopwatch.StartNew(); List<Dictionary<string, string>> ...

  7. linux 防火墙--firewalld学习

    firewalld是centos7默认的防火墙,相比于iptables重要的优势: 1 支持动态更新: 2 不用重启服务: 同时增加了防火墙的“zone”概念,具体差异没做过多了解,这篇文章只记录fi ...

  8. swfupload上传

    swfupload多文件异步上传 多文件选择异步上传的原理 传统上:多个文件逐一选.PHP开始处理,循环上 PHP+Flash上:JS调用flash控,Flash批量选取并保持选取所有文件列 swfu ...

  9. IE6浏览器兼容问题及部分解决方案(网上整理)

    作为一个初涉前端技术的IT菜鸟,IE浏览器的兼容问题是一个不得不跨越的坎.为了能够在不同浏览器达到同样的显示效果,就不得不花心思想出办法实现兼容.由于各大主流浏览器内核不同,各自的实现标准有所差异,因 ...

  10. await使用中的阻塞和并发

    本文讨论,通过将Lambda还原成最普通的代码段,来解释上篇提出的疑问.并更正上篇中一些不太正确的写法.最后会给出无需等待Async方法返回值时,对Async方法使用await的建议,供大家参考.第一 ...