js常用方法使用總結(jié)

說明:

1. 在項目中使用一些工具類丽蝎,公共類是非常有必要的猎拨,不僅是后臺膀藐,前段亦是一樣

2. 這里提供我收集的常用方法封裝

注意:

1. 字符串的拼接一定使用StringBuffer來拼接,否則容易造成瀏覽器卡頓或內(nèi)存溢出红省。特別是針對一些執(zhí)行js效率不高的瀏覽器6罡鳌!

2. 經(jīng)常對輸入框里內(nèi)容清空吧恃,對textarea虾啦,可以直接$("textarea").empty();如果使用$("textarea").html("");也可能會造成瀏覽器內(nèi)存溢出!痕寓!

Date工具類

/********************** date工具類 ***************/

Date.prototype.format = function(format){

var o = {

"M+" : this.getMonth()+1, //month

"d+" : this.getDate(), //day

"h+" : this.getHours(), //hour

"m+" : this.getMinutes(), //minute

"s+" : this.getSeconds(), //second

"q+" : Math.floor((this.getMonth()+3)/3), //quarter

"S" : this.getMilliseconds() //millisecond

}

if(/(y+)/.test(format)) format=format.replace(RegExp.$1,(this.getFullYear()+"").substr(4- RegExp.$1.length));

for(var k in o)if(new RegExp("("+ k +")").test(format))

format = format.replace(RegExp.$1,RegExp.$1.length==1? o[k] : ("00"+ o[k]).substr((""+ o[k]).length));

return format;

};

公共工具類

/********************** 公共工具類 ***************/

var PublicUtil ={

isNotEmpty: function(val){

return !this.isEmpty(val);

},

isEmpty: function(val){

if ((val==null || typeof(val)=="undefined")|| (typeof(val)=="string"&&val==""&&val!="undefined")){

return true;

}else{

return false;

}

},

isDebug: function(){

if(this.isNotEmpty(configDebug)&&configDebug=="true"){

return true;

}else{

return false;

}

},

//去除元素內(nèi)所有內(nèi)容 strIds:"#id1,#id2,#id3"

emptyHtml: function(strIds){

try{

var ids = strIds.trim(",").split(",");

$(ids).each(function(){

var obj = $(this.toString());

if(obj.length>0){

$(obj).each(function(){

$(this).html("");

});

}else{

obj.html("");

}

});

}catch(ex){

if(PublicUtil.isDebug()){

throw new Error("js方法:【PublicUtil.emptyHtml(strIds)】傲醉,error!");

}

}

},

//去除元素的值 strIds:"#id1,#id2,#id3"

emptyValue: function(strIds){

try{

var ids = strIds.trim(",").split(",");

$(ids).each(function(){

var obj = $(this.toString());

if(obj.length>0){

$(obj).each(function(){

$(this).val("");

});

}else{

obj.val("");

}

});

}catch(ex){

if(PublicUtil.isDebug()){

throw new Error("js方法:【PublicUtil.emptyValue(strIds)】呻率,error硬毕!");

}

}

},

//去除Textarea內(nèi)所有內(nèi)容 strIds:"#id1,#id2,#id3"

emptyTextarea: function(strIds){

try{

var ids = strIds.trim(",").split(",");

$(ids).each(function(){

var obj = $(this.toString());

if(obj.length>0){

$(obj).each(function(){

$(this).empty();

$(this).val("");

});

}else{

obj.empty();

obj.val("");

}

});

}catch(ex){

if(PublicUtil.isDebug()){

throw new Error("js方法:【PublicUtil.emptyTextarea(strIds)】,error礼仗!");

}

}

}

}

String 工具類

/********************** String工具類***************/

//trim去掉字符串兩邊的指定字符,默去空格

String.prototype.trim = function(tag) {

if (!tag) {

tag = '\\s';

}else {

if (tag == '\\') {

tag = '\\\\';

} else if (tag == ',' || tag == '|' || tag == ';') {

tag = '\\' + tag;

}else {

tag = '\\s';

}

}

eval('var reg=/(^' + tag + '+)|(' + tag + '+$)/g;');

return this.replace(reg, '');

};

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

String.prototype.interceptString = function(len) {

if (this.length > len) {

return this.substring(0, len) + "...";

} else {

return this;

}

}

//將一個字符串用給定的字符變成數(shù)組

String.prototype.toArray = function(tag) {

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

return this.split(tag);

}else {

if (this != '') {

return [this.toString()];

}else {

return [];

}

}

}

//只留下數(shù)字(0123456789)

String.prototype.toNumber= function() {

return this.replace(/\D/g, "");

}

//保留中文

String.prototype.toCN= function() {

var regEx = /[^\u4e00-\u9fa5\uf900-\ufa2d]/g;

return this.replace(regEx, '');

}

//轉(zhuǎn)成int

String.prototype.toInt= function() {

var temp = this.replace(/\D/g, "");

return isNaN(parseInt(temp)) ? this.toString() : parseInt(temp);

}

//是否是以XX開頭

String.prototype.startsWith= function(tag){

return this.substring(0, tag.length) == tag;

}

//是否已XX結(jié)尾

String.prototype.endWith= function(tag){

return this.substring(this.length - tag.length) == tag;

}

//StringBuffer

var StringBuffer = function() {

this._strs = new Array;

};

StringBuffer.prototype.append = function (str) {

this._strs.push(str);

};

StringBuffer.prototype.toString = function() {

return this._strs.join("");

};

String.prototype.replaceAll = function(s1,s2){

return this.replace(new RegExp(s1,"gm"),s2);

}

?Arry

/********************** Arry ***************/

//根據(jù)數(shù)據(jù)取得再數(shù)組中的索引

Array.prototype.getIndex = function(obj){

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

if (obj == this[i]) {

return i;

}

}

return -1;

}

//移除數(shù)組中的某元素

Array.prototype.remove= function (obj) {

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

if (obj == this[i]) {

this.splice(i, 1);

break;

}

}

return this;

}

//判斷元素是否在數(shù)組中

Array.prototype.contains= function (obj) {

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

if (obj == this[i]) {

return true;

}

}

return false;

}

瀏覽器相關(guān)操作

/********************** 瀏覽器相關(guān)操作 ***************/

//進入全屏模式,? 判斷各種瀏覽器吐咳,找到正確的方法

var launchFullScreen = function (element) {

if(element.requestFullscreen) {

element.requestFullscreen();

} else if(element.mozRequestFullScreen) {

element.mozRequestFullScreen();

} else if(element.webkitRequestFullscreen) {

element.webkitRequestFullscreen();

} else if(element.msRequestFullscreen) {

element.msRequestFullscreen();

}

return true;

}

//退出全屏模式

var exitFullScreen = function () {

if(document.exitFullscreen) {

document.exitFullscreen();

} else if(document.mozCancelFullScreen) {

document.mozCancelFullScreen();

} else if(document.webkitExitFullscreen) {

document.webkitExitFullscreen();

}

return false;

}

//cookie操作

var CookieUtil={

path: "/",

domain: 'demo.j2ee.com',

add: function(name,val){

$.cookie(name, val, {expires: 7, path: this.path, domain: this.domain, secure: true});

},

remove: function(name){

$.cookie(name, null,{path: this.path, domain: this.domain});

},

get: function(name){

$.cookie(name,{path: this.path, domain: this.domain});

}

}

//error

var error={

e_404: function(){

alertMessage("404","未找到改頁面!","warning");

},

e_500: function(){

alertMessage("500","服務(wù)器內(nèi)部錯誤元践!","error");

},

e_403: function(){

alertMessage("403","權(quán)限不足韭脊!","warning");

}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市单旁,隨后出現(xiàn)的幾起案子沪羔,更是在濱河造成了極大的恐慌,老刑警劉巖象浑,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蔫饰,死亡現(xiàn)場離奇詭異,居然都是意外死亡融柬,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門趋距,熙熙樓的掌柜王于貴愁眉苦臉地迎上來粒氧,“玉大人,你說我怎么就攤上這事节腐⊥舛ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵翼雀,是天一觀的道長饱苟。 經(jīng)常有香客問我,道長狼渊,這世上最難降的妖魔是什么箱熬? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任类垦,我火速辦了婚禮,結(jié)果婚禮上城须,老公的妹妹穿的比我還像新娘蚤认。我一直安慰自己,他們只是感情好糕伐,可當(dāng)我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布砰琢。 她就那樣靜靜地躺著,像睡著了一般良瞧。 火紅的嫁衣襯著肌膚如雪陪汽。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天褥蚯,我揣著相機與錄音挚冤,去河邊找鬼。 笑死遵岩,一個胖子當(dāng)著我的面吹牛你辣,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播尘执,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼舍哄,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了誊锭?” 一聲冷哼從身側(cè)響起表悬,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎丧靡,沒想到半個月后蟆沫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡温治,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年饭庞,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片熬荆。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡舟山,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出卤恳,到底是詐尸還是另有隱情累盗,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布突琳,位于F島的核電站若债,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏拆融。R本人自食惡果不足惜蠢琳,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一啊终、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧挪凑,春花似錦孕索、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至菇绵,卻和暖如春肄渗,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背咬最。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工翎嫡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人永乌。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓惑申,卻偏偏與公主長得像,于是被迫代替她去往敵國和親翅雏。 傳聞我的和親對象是個殘疾皇子圈驼,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 單例模式 適用場景:可能會在場景中使用到對象,但只有一個實例望几,加載時并不主動創(chuàng)建绩脆,需要時才創(chuàng)建 最常見的單例模式橄抹,...
    Obeing閱讀 2,069評論 1 10
  • 工廠模式類似于現(xiàn)實生活中的工廠可以產(chǎn)生大量相似的商品,去做同樣的事情楼誓,實現(xiàn)同樣的效果;這時候需要使用工廠模式。簡單...
    舟漁行舟閱讀 7,761評論 2 17
  • Javascript有很多數(shù)組的方法疟羹,有的人有W3C的API主守,還可以去MDN上去找,但是我覺得API上說的不全阁猜,M...
    頑皮的雪狐七七閱讀 4,083評論 0 6
  • 如何控制alert中的換行蹋艺?\n alert(“p\np”); 請編寫一個JavaScript函數(shù) parseQu...
    heyunqiang99閱讀 1,085評論 0 6
  • 正式通知你:我不愛你了 郭斯鳴 “你不要我,我就死給你看捎谨!”最近網(wǎng)上流傳出傻白甜的妹子因為男友提出分手而直播割腕民效。...
    郭斯鳴閱讀 799評論 4 5