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一些通用方法的封装的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用JAVASCRIPT实现静态对象、静态
- 下一篇: js如何判断一个对象是不是Array?