JS/jquery的一些常用功能函数

喜夏-厌秋 提交于 2019-12-07 22:17:04

本文旨在记录自己使用js相关遇到的常用的功能函数,持续更新中

1.生成32位随机字符串

<script type="text/javascript">
    function randomString(len) {
  len = len || 32;
  var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';    /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/
  var maxPos = $chars.length;
  var pwd = '';
  for (i = 0; i < len; i++) {
    pwd += $chars.charAt(Math.floor(Math.random() * maxPos));
  }
  return pwd;
    }
    document.write(randomString(32));
</script>

2.验证手机号码格式

var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(17[0-9]{1})|(18[0-9]{1}))+\d{8})$/; 
myreg.test($telnumber);

3.验证邮编格式

var re= /^[1-9][0-9]{5}$/;
re.test($post)

4.验证身份证格式

function validateIdCard(idCard){
  //15位和18位身份证号码的正则表达式
  var regIdCard=/^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/;

 //如果通过该验证,说明身份证格式正确,但准确性还需计算
 if(regIdCard.test(idCard)){
  if(idCard.length==18){
   var idCardWi=new Array( 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ); //将前17位加权因子保存在数组里
   var idCardY=new Array( 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ); //这是除以11后,可能产生的11位余数、验证码,也保存成数组
   var idCardWiSum=0; //用来保存前17位各自乖以加权因子后的总和
   for(var i=0;i<17;i++){
    idCardWiSum+=idCard.substring(i,i+1)*idCardWi[i];
   }

   var idCardMod=idCardWiSum%11;//计算出校验码所在数组的位置
   var idCardLast=idCard.substring(17);//得到最后一位身份证号码

   //如果等于2,则说明校验码是10,身份证号码最后一位应该是X
   if(idCardMod==2){
    if(idCardLast=="X"||idCardLast=="x"){
     return "ok";
    }else{
     return "身份证号码错误!";
    }
   }else{
    //用计算出的验证码与最后一位身份证号码匹配,如果一致,说明通过,否则是无效的身份证号码
    if(idCardLast==idCardY[idCardMod]){
         return "ok";
    }else{
         return "身份证号码错误!";
    }
   }
  } 
 }else{
     return "身份证格式错误!";
 }
}

5.判断时间大小

function checkEndTime(startTime,endTime){        
    var start=new Date(startTime.replace("-", "/").replace("-", "/"));         
    var end=new Date(endTime.replace("-", "/").replace("-", "/"));  
    if(end<start){  
      return false;  
    }  
      return true;  
}

6.监听input的value变化事件


<input type="text" id="username" οninput="OnInput(event)" onpropertychange="OnPropChanged(event)" />
//-------------------js-----------------------
// Firefox, Google Chrome, Opera, Safari, Internet Explorer from version 9
function OnInput(event) {
    var value = event.target.value;
    //do something else
}
// Internet Explorer
function OnPropChanged(event) {
    if (event.propertyName.toLowerCase () == "value") {
        var value = event.srcElement.value;
        //do something else
    }       
} 
//-------------------jquery------------------------
$('#username').bind('input propertychange', function() {
    $value = $(this).val();
});

7.监听checkbox选中事件以及设置选中状态

$('#allSel').click(function(){
    if ($("#allSel").is(":checked")) {
        console.log('ok');
        //判断复选框是否被选中
        $.each($('input[name="selU"]'),function(i,obj){
             $(obj).prop('checked',true);//设置选中
        });
        $('#allSelLabel').text("取消");
    }else {
        console.log('not ok');
        $('#allSelLabel').text("全选");
        $.each($('input[name="selU"]'),function(i,obj){
               $(obj).prop('checked',false);//设置没选中
        });
    }
})
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!