js一些通用方法的封装
//封装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一些通用方法的封装的更多相关文章
- js常用通用方法
验证身份证详细方法 function isCardNo(pId) { var arrVerifyCode = [1, 0, "x", 9, 8, 7, 6, 5, 4, 3, 2] ...
- JS中数组方法的封装之slice
slice方法的功能 // 1) : 数组的截取 // 2) :slice(m,n): 从数组索引m开始,截取到索引n,但是不包含n;[前包后不包] // slice(m) : 从索引m开始,截取到末 ...
- jsonp跨域 封装通用方法
jsonp跨域 封装通用方法 //用法如下 jsonp({ url:"https://www.xxxx.com", params:{wd:'b'}, callback:'show' ...
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_4-3.登录检验JWT实战之封装通用方法
笔记 3.登录检验JWT实战之封装通用方法 讲解:引入相关依赖并开发JWT工具类 1.加入相关依赖 <!-- JWT相关 --> <dependenc ...
- js方法的封装
封装是为了更好的调用,当我们很多页面都需要同一种方法的时候,为了避免每个页面都需要进行重写方法,增加工作量,这个时候就需要我们对部分公共的方法进行封装,这样便于更好的进行调用 我在写接口的时候用到了 ...
- js添加事件通用方法
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 【CSS进阶】原生JS getComputedStyle等方法解析
最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美. 其结构明晰,高内聚.低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷.渐 ...
- .NET基础架构方法—DataTableToExcel通用方法
p { display: block; margin: 3px 0 0 0; } --> .NET架构基础方法—DataTableToExcel通用方法(NPOI) 今天封装DataTaleTo ...
- 使用 highchart 绘制柱状图的通用方法与接口
本文给出使用 highchart 绘制柱状图的通用方法与接口, 只要指定相应的数据结构和配置, 就可以直接拿来使用. 一. 数据结构与基本接口 一般绘制图形, 会涉及到较复杂的数据结构, 比如使 ...
随机推荐
- JuiceSSh破解分析
JuiceSSH是一款免费的远程ssh客户端,感觉是一款挺优秀的软件,里边有一些高级功能需要购买高级版才能使用,这里便对其对高级功能的破解进行分析. 本文仅用于学习交流使用,请尊重作者,勿在网上肆意发 ...
- [转] JS nodeType返回类型
将HTML DOM中几个容易常用的属性做下记录: nodeName.nodeValue 以及 nodeType 包含有关于节点的信息. nodeName 属性含有某个节点的名称. 元素节点的 node ...
- Adding Swap Files
Adding Swap Files If you do not have free disk space to create a swap partition and you do need to a ...
- 0x05: post 守护进程(deamon) json 任务调度
python 签名 post #coding:utf-8 import urllib,urllib2 url='http://wtf.thinkphp.com/index.php?m=&c=t ...
- Linux 最大进程数
前言 使用环境:centos 7系统 一.查看用户打开的最大进程数 ulimit -a max user processes (-u) #系统限制某用户下最多可以运行多少进程 ...
- bzoj 3043 (差分序列运用)
维护差分序列 显然要使差分序列的后n-1位为0 对于原来的区间操作 只需要单点修改或者两个点修改 就转化成了 对于差分序列但以一个数+ 或 - 或者一个+1同时一个- ans1=max(sum1,su ...
- Nginx配置域名转发实例
域名:cps.45wan.com 所在阿里云主机:123.35.9.12 45wan没有在阿里云备案 67wan已经在阿里云备案 阿里云主机(假如123.35.9.12)上原来的nginx配置: ...
- 【转】深入理解Java内存模型(六)——final
与前面介绍的锁和volatile相比较,对final域的读和写更像是普通的变量访问.对于final域,编译器和处理器要遵守两个重排序规则: 在构造函数内对一个final域的写入,与随后把这个被构造对象 ...
- Swift中出现“no such module cocoa”的错误
在Swift开发中,新建了一个UIViewController的子类出现“No such module 'Cocoa' 的错误, 头部是import cocoa.. 原因很简单:在建立新的File文件 ...
- THINK PHP U的用法
public function index(){ //$db=new \Think\Model(); //$db=M('msg'); //$result=$db->query("sel ...