js 一些使用小例子 ,暂时写这么一点,以后补充

来源:互联网 发布:php允许ajax跨域 编辑:程序博客网 时间:2024/05/16 02:48


/////////////////////////////////////////预防对表单进行多次提交
//////////////////////////////////////// 摘录

$(document).ready(function() {
  $('form').submit(function() {
    if(typeof jQuery.data(this, "disabledOnSubmit") == 'undefined') {
      jQuery.data(this, "disabledOnSubmit", { submited: true });
      $('input[type=submit], input[type=button]', this).each(function() {
        $(this).attr("disabled", "disabled");
      });
      return true;
    }
    else
    {
      return false;
    }
  });
});

////////////////////////////////////////////////////////////在窗口滚动时自动加载内容//////////////////////////////////////////////////////////////////摘录


var loading = false;
$(window).scroll(function(){
    if((($(window).scrollTop()+$(window).height())+250)>=$(document).height()){
        if(loading ==false){
            loading =true;
            $('#loadingbar').css("display","block");
            $.get("load.php?start="+$('#loaded_max').val(),function(loaded){
                $('body').append(loaded);
                $('#loaded_max').val(parseInt($('#loaded_max').val())+50);
                $('#loadingbar').css("display","none");
                loading =false;
            });
        }
    }
});
$(document).ready(function() {
    $('#loaded_max').val(50);
});
///////////////////////////////////////////手机滚动加载////////////////////////////////////////////////////////////////////////////////////////////////

var start=1; //从第一条查询
var end=3; // 到第三条结束 共取3条数据

var page=1; //第一页

  $(document).on('scrollstop',function(){ //当滚屏时触发
        var offsetTop = $(document).scrollTop();   //返回或设置匹配元素的滚动条的垂直位置
        var screenHeight=$(window).height(); //滚动的高
        var documentHeight=$(document).height();//获取页面的高
        var maxTop=documentHeight-screenHeight; //获取位置的高度
        if(offsetTop>=maxTop){  //判断 滚动到底部时候 则为true
            ++page;//++page 因为 初始化到时候 加载3条数据,所以下次加载为第二页的数据 则++page
            var pageCount=count%3>0?(1+num2money(count/3,0)):num2money(count/3,0); // 获取加载页面时 返回的 数据总数,计算共有多少页数据 (当前按每页三条数据计算)
            start=start+3; // 每次加载 3条数据
            end=end+3; // 每次加载 3条数据
            $.mobile.showPageLoadingMsg('a',"",false); //手机加载等待
            if(pageCount>=page){ //判断当前页是否小于 总页数  不是则 做完成处理
                if(null!=$(".search").html()&&$(".search").html()!="undefined"){
                    $('.userlist').empty();
                     $('.userlist').append(strnull);
                    page=1;
                }
                $.ajax({
                     url:$("#findUrl").val(),
                     data:$("#findcustomerform").serialize()+"&start="+start+"&end="+end,
                     dataType:"json",
                     type:"POST",
                     error:function(){
                         $.mobile.hidePageLoadingMsg();
                     },
                     success:function(data){
                         for(n=0;n<data.customers.length;n++){
                             // 此处本人 动态创建 标签及 闻到 在div后面追加 数据
                             $('.userlist').append(str);
                         }
                        
                         $.mobile.hidePageLoadingMsg(); //结束加载
                     }
                  });
            }else{
                page=pageCount+1;
                $.mobile.showPageLoadingMsg('a',"加载完成",true);
                setTimeout($.mobile.hidePageLoadingMsg(), 1500);
            }
            
        }
    });

/./////////////////////////////////./////////////////////////////////./////////////////////////////////./////////////////////////////////./////////////////////////////////.////////////////////////////////

1、在js使用parseInt() 时候一定要加上 parseInt(value,10)  否则,像 012 这类数字会当成8进制数字转换

 

2、jsp 获取服务器时间
<script language="javascript">
var a = new Date()
a = <%=System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")%>;
Response.Write(a)
</script>

 

3、 // 移除数组指定元素 mywang 2011/8/29 添加注释
 Array.prototype.remove=function(obj){  
  if(obj==""||obj==null){return false;}
  for(var i=0;i<this.length;i++){
   if(obj==this[i]){
      this.splice(i,1);
   }
  }
 } ;

 

4、//格式化时间(传入值 如: yyyy-MM-dd hh:mm:ss)
Date.prototype.pattern=function(fmt) {    
    var o = {    
    "M+" : this.getMonth()+1, //月份    
    "d+" : this.getDate(), //日    
    "h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12, //小时    
    "H+" : this.getHours(), //小时    
    "m+" : this.getMinutes(), //分    
    "s+" : this.getSeconds(), //秒    
    "q+" : Math.floor((this.getMonth()+3)/3), //季度    
    "S" : this.getMilliseconds() //毫秒    
    };    
    var week = {    
    "0" : "\u65e5",    
    "1" : "\u4e00",    
    "2" : "\u4e8c",    
    "3" : "\u4e09",    
    "4" : "\u56db",    
    "5" : "\u4e94",    
    "6" : "\u516d"   
    };    
    if(/(y+)/.test(fmt)){    
        fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));    
    }    
    if(/(E+)/.test(fmt)){    
        fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "\u661f\u671f" : "\u5468") : "")+week[this.getDay()+""]);    
    }    
    for(var k in o){    
        if(new RegExp("("+ k +")").test(fmt)){    
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));    
        }    
    }    
    return fmt;    

5、3种trim实现

//////////////////////////////////////////////////////////////////////////////
//功能说明:3种trim实现
//////////////////////////////////////////////////////////////////////////////
String.prototype.trim = function() {
 return this.replace(/(^\s*)|(\s*$)/g, "");

String.prototype.ltrim = function() {
 return this.replace(/(^\s*)/g, "");

String.prototype.rtrim = function() {
 return this.replace(/(\s*$)/g, "");
}

6、截取字符串,长度去掉回车换行

//////////////////////////////////////////////////////////////////////////////
//功能说明:截取字符串,长度去掉回车换行
//////////////////////////////////////////////////////////////////////////////
String.prototype.substrrn = function(length) {
 var nrl = 0;
 if(this.indexOf("\n") != -1){
  nrl = this.match(new RegExp("\n","g")).length;
 }
 return this.substr(0, length-nrl);

 

7、判断给定的字是否为中文

//////////////////////////////////////////////////////////////////////////////
//功能说明: 判断给定的字是否为中文
//参数定义: word unicode字符
//////////////////////////////////////////////////////////////////////////////
function isChinese(word) {
 var lst = /[u00-uFF]/;
 return !lst.test(word);
}
}

 

8\//////////////////////////////////////////////////////////////////////
///功能说明:验证身份证
///参数定义:value 身份证号码
/////////////////////////////////////////////////////////////////////
function validateCard(value) {
  //value=value.trim();
  var Y,JYM; 
    var S,M; 
    var idcard_array = new Array(); 
    idcard_array = value.split("");
  var area={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"};
 if(value!=""&&value.length!=15&&value.length!=18){
  return false;
 }
  if(value!=""&&area[parseInt(value.substr(0,2))]==null){
   return false;
  }    
  switch(value.length){
  //15位身份证号校验
  case 15:
   if ( (parseInt(value.substr(6,2))+1900) % 4 == 0 || ((parseInt(value.substr(6,2))+1900) % 100 == 0 && (parseInt(value.substr(6,2))+1900) % 4 == 0 )){
    ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;
   } else {
    ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;
   }
   if(!ereg.test(value)){
    return false; 
   }
  break;
  //18位身份证号校验
  case 18:
   if ( parseInt(value.substr(6,4)) % 4 == 0 || (parseInt(value.substr(6,4)) % 100 == 0 && parseInt(value.substr(6,4))%4 == 0 )){
    //闰年出生日期的合法性正则表达式
    ereg=/^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9xX]{1}$/;
   } else {
    //平年出生日期的合法性正则表达式
    ereg=/^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9xX]{1}$/;
   }
   if(ereg.test(value)){//测试出生日期的合法性 
        //计算校验位 
        S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7 
        + (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9 
        + (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10 
        + (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5 
        + (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8 
        + (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4 
        + (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2 
        + parseInt(idcard_array[7]) * 1  
        + parseInt(idcard_array[8]) * 6 
        + parseInt(idcard_array[9]) * 3 ; 
        Y = S % 11; 
        M = "F"; 
        JYM = "10X98765432"; 
        M = JYM.substr(Y,1);/*判断校验位*/
       if(M == idcard_array[17].toUpperCase()){ 
          return true; /*检测ID的校验位false;*/ 
       } 
       else { 
          return false; 
       }
   }
   else {
        return false; 
   } 
  break;
  default: 
       return true;
  }
}

9、//////////////////////////////////////////////////////////////////////
///功能说明:比较两个日期相差天数
///参数定义:startDate endDate 以 yyyy-MM-dd格式
/////////////////////////////////////////////////////////////////////
function dateDiff(startDate,endDate){
 times = startDate.split("-");
 date1 = new Date(times[0],times[1]-1,times[2]);
 times = endDate.split("-");
 date2 = new Date(times[0],times[1]-1,times[2]);
 var diffValue = date2.getTime() - date1.getTime();
 return parseInt(diffValue/86400000);   
}

10、//////////////////////////////////////////////////////////////////////
///功能说明:格式化一个字符串 替换占位符
///参数定义:

var template1="我是{0},今年{1}了";
 
var template2="我是{name},今年{age}了";
 var result1=template1.format("loogn",22);
 
var result2=template2.format({name:"loogn",age:22});
/////////////////////////////////////////////////////////////////////

String.prototype.format = function(args) {
    var result = this;
    if (arguments.length > 0) {    
        if (arguments.length == 1 && typeof (args) == "object") {
            for (var key in args) {
                if(args[key]!=undefined){
                    var reg = new RegExp("({" + key + "})", "g");
                    result = result.replace(reg, args[key]);
                }
            }
        }
        else {
            for (var i = 0; i < arguments.length; i++) {
                if (arguments[i] != undefined) {
                    var reg = new RegExp("({[" + i + "]})", "g");
                    result = result.replace(reg, arguments[i]);
                }
            }
        }
    }
    return result;
}

11、//////////////////////////////////////////////////////////////////////

//将数字转换成逗号分隔的样式,保留两位小数s:value,n:小数位数     
function fmoney(s,n)
{
    n = n > 0 && n <= 20 ? n : 2;
    s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
    var l = s.split(".")[0].split("").reverse(), r = s.split(".")[1];
    t = "";
    for (i = 0; i < l.length; i++) {
        t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
    }
    return t.split("").reverse().join("") + "." + r;
};

原创粉丝点击