js常用通用函數


//判斷是否數字

 function isNumber(str){
     var n = Number(str);
     if (!isNaN(n)){
         return true;
     }else{
         return false;
     }
 }

//判斷是否對象

 function isObj(obj){
     if(typeof obj=="object"){
         return true;
     }else{
         return false;
     }
 }

//判斷是否為空

 function emptyFun(obj){
     var obj=obj;
     if(obj==""||obj==null||obj==undefined||obj=="null"||obj=="undefined"){
         return true;
     }else{
         return false;
     }
 }

//獲取地址欄參數

 function GetQueryString(name){
      var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
      var r = window.location.search.substr(1).match(reg);
      if(r!=null)return  unescape(r[2]); return null;
 }

//轉換時間格式 eg:1972-10-26

 function getLocalTime(nS) {
     var now = new Date(nS);
     if(!now){
         return 0;
     }else{
         var year=now.getFullYear();//年
         var month=now.getMonth()+1;//月
         var date=now.getDate();//日
         var hour=now.getHours();//時
         var minute=now.getMinutes();//分
         var second=now.getSeconds();//秒
         return year+"-"+month+"-"+date;
     }
 }

//數組去重

 Array.prototype.unique1 = function(){
     var res = [this[0]];
     for(var i = 1; i < this.length; i++){
         var repeat = false;
         for(var j = 0; j < res.length; j++){
             if(this[i] == res[j]){
                 repeat = true;
                 break;
             }
         }
         if(!repeat){
             res.push(this[i]);
         }
     }
     return res;
 }

//校驗是否全由數字組成 

 function isDigit(s) 
 { var patrn=/^[0-9]{1,20}$/; if (!patrn.exec(s)) return false return true } 

//校驗登錄名:只能輸入5-20個以字母開頭、可帶數字、“_”、“.”的字串 

 function isRegisterUserName(s) 
 { var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/; if (!patrn.exec(s)) return false return true } 

//校驗用戶姓名:只能輸入1-30個以字母開頭的字串 

function isTrueName(s) 
{ 
    var patrn=/^[a-zA-Z]{1,30}$/; if (!patrn.exec(s)) return false return true } 

//校驗密碼:只能輸入6-20個字母、數字、下划線 

function isPasswd(s) 
{ 
    var patrn=/^(\w){6,20}$/; if (!patrn.exec(s)) return false return true } 

//校驗普通電話、傳真號碼:可以“+”開頭,除數字外,可含有“-” 

 function isTel(s) 
 { //var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/; var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/; if (!patrn.exec(s)) return false return true } 

//校驗手機號碼:必須以數字開頭,除數字外,可含有“-”

 function isMobil(s) 
 { var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/; if (!patrn.exec(s)) return false return true } 

//校驗郵政編碼 

function isPostalCode(s) 
{ 
  var patrn=/^[a-zA-Z0-9 ]{3,12}$/;   if (!patrn.exec(s)) return false   return true } 

 //校驗搜索關鍵字 

function isSearch(s) 
{ 
    var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;\'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;\'\,.<>?]{0,19}$/; if (!patrn.exec(s)) return false return true } 

 //檢測IP地址

function isIP(s) 
{ 
    var patrn=/^[0-9.]{1,20}$/; if (!patrn.exec(s)) return false return true } 

//轉換時間  eg:1972/10/26 上午3:21

 function getLocalTime(nS) {
      if(!nS){
          return 0;
      }else{
          return new Date(parseInt(nS)).toLocaleString().replace(/:\d{1,2}$/,' ');
      }
  }

 //對象排序

var dic={x:2,z:1,y:3};//輸出   {z:1,x:2,y:3}
 var sdic=Object.keys(dic).sort(function(a,b){return dic[a]-dic[b]});
 for(ki in sdic){                     
    console.log(sdic[ki]+":"+dic[sdic[ki]]+",");
 }

 // js sort方法根據數組中對象的某一個屬性值進行排序

function keysrt(key,desc) { 
    return function(a,b){ 
        return desc ? ~~(a[key] < b[key]) : ~~(a[key] > b[key]);
    }
}
使用:
  var  ary=[{id:1,name: "b" },{id:2,name: "b" }];
  ary.sort(keysrt( 'name' , true ));
 

 //js排序數字,js排序字母,js最大值,js最小值

// 支持IE7
var fruits = [454, 1331, 14, 355];
fruits.sort(function(a,b){return a-b});
alert(fruits.toString());// 不支持IE7及以下,最小值
var a = [3332, 3400, 500, 710];
var lowValue = a.concat().sort(function(a, b){return a - b})[0];
var lowIndex = a.indexOf(lowValue);
alert(lowValue);

// 不支持IE7及以下,比較小數最小值
var array, min, index;
array = [711.22,22.22,3400.121,500.55,6.2,710];
min = Math.min.apply(null, array);
index = array.indexOf(min);
alert(array[index]);

// 正序排序字母
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
// Apple,Banana,Mango,Orange

// 倒敘排列字母
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
fruits.reverse();
// Orange,Mango,Banana,Apple

// 正序排序數字
var points = [40,100,1,5,25,10];
points.sort(function(a,b){return a-b});
// 1,5,10,25,40,100

// 倒敘排列數字
var points = [40,100,1,5,25,10];
points.sort(function(a,b){return b-a});
// 100,40,25,10,5,1
//例如刪除C這個元素 ,前提不知道C在這個數組的下標
var arr = ['a','b','c','d'];
arr.splice($.inArray('c',arr),1);
alert(arr);

  

//在數組中查找指定值並返回它的索引(如果沒有找到,則返回-1)。

jQuery.inArray( value, array [, fromIndex ] )
$.inArray( 5 + 5, [ "8", "9", "10", 10 + "" ] );
demo:
var arr = [ 4, "Pete", 8, "John" ];
var $spans = $("span");
$spans.eq(0).text(jQuery.inArray("John", arr));  //"John" found at 3
$spans.eq(1).text(jQuery.inArray(4, arr)); //4 found at 0
$spans.eq(2).text(jQuery.inArray("Karl", arr)); //"Karl" not found, so -1
$spans.eq(3).text(jQuery.inArray("Pete", arr, 2)); //"Pete" is in the array, but not at or after index 2, so -1

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM