各种检验总结

【引入jquery联网】<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
1、限制只能输入数字包括小数点都不能输入(type的类型不限制)
(1)onkeyup="value=value.replace(/[^/u4E00-\\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/u4E00-/u9FA5]/g,''))"
(2)onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}"
2、限制只能输入数字包括小数点都不能输入(但type的类型必须是type="number")
type="number" onkeypress="return event.keyCode>=48&&event.keyCode<=57" 
3、校验身份证信息:
【onkeyup="value=value.replace(/[^\w\.\/]/ig,'')" 】这个是校验只能输入数字和字母的
  <input id="idCard" type="text" onkeyup="value=value.replace(/[^\w\.\/]/ig,'')" 
  onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}"  class="form-control"  name="idCard" style="width:245px;"/>
这个是js验证身份证的:
   $("#idCard").blur(function () {
        var idCard = $("#idCard").val();
        if(idCard != "" && idCard !=null){
            //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])$)$/;
//            var regIdCard=/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;;
            //如果通过该验证,说明身份证格式正确,但准确性还需计算
            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"){
                            parent.layer.alert('恭喜通过验证啦1!', {
                                skin: 'layui-layer-lan',
                            });
                        }else{
                            parent.layer.alert('身份证号码错误1!', {
                                skin: 'layui-layer-lan',
                            });
                            return false;
                        }
                    }else{
                        //用计算出的验证码与最后一位身份证号码匹配,如果一致,说明通过,否则是无效的身份证号码
                        if(idCardLast==idCardY[idCardMod]){
                            parent.layer.alert('恭喜通过验证啦2!', {
                                skin: 'layui-layer-lan',
                            });
                        }else{
                            parent.layer.alert('身份证号码错误2!', {
                                skin: 'layui-layer-lan',
                            });
                            return false;
                        }
                    }
                }
            }else{
                parent.layer.alert('身份证格式不正确!', {
                    skin: 'layui-layer-lan',
                });
                return false;
            }
        }
    });
4、只允许输入汉字
(1)只是input框的一个属性
onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')"
(2)js代码判断
  $("#idCard").blur(function () {
            var idCard = $("#idCard").val();
            if(idCard.length!=0){
                reg=/^[\u0391-\uFFE5]+$/;
                if(!reg.test(idCard)){
                    parent.layer.alert('对不起,您输入的字符串类型格式不正确!', {
                        skin: 'layui-layer-lan',
                    })
                }
            }
        });
5只允许输入英文字母的js代码(大小写不限)
  $("#idCard").blur(function () {
            var idCard = $("#idCard").val();
            if(idCard.length!=0){
                reg=/^[a-zA-Z]+$/;
                if(!reg.test(idCard)){
                    parent.layer.alert('对不起,您输入的英文字母类型格式不正确!', {
                        skin: 'layui-layer-lan',
                    });
                    return false;
                }
            }
        });
6、验证邮箱是否正确(失去焦点事件)
$("#idCard").blur(function () {
        var idCard = $("#idCard").val();
        var regu = "^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT)$"
        var re = new RegExp(regu);
        if (idCard.search(re) != -1) {
            return true;
        } else {
            window.alert ("请输入有效合法的E-mail地址 !")
            return false;
        }
});
7、js验证只能输入英文或者是数字
    $("#idCard").blur(function () {
        var idCard = $("#idCard").val();
        var regu = "^[0-9a-zA_Z]+$";
        var re = new RegExp(regu);
        if (idCard.search(re) != -1) {
            return true;
        } else {
            parent.layer.alert('请输入字母或者是数字!', {
                skin: 'layui-layer-lan',
            })
            return false;
        }
    });
8、js验证手机号(13,15,17,18开头)
    $("#idCard").blur(function () {
        var idCard = $("#idCard").val();
        if(!(/^1(3|4|5|7|8)\d{9}$/.test(idCard))){
            parent.layer.alert('手机号码有误,请重填!', {
                skin: 'layui-layer-lan',
            })
            return false;
        }
    });
9、js验证邮政编码
$("#idCard").blur(function () {
            var idCard = $("#idCard").val();
            var pattern =/^[0-9]{6}$/;
            if(idCard!="")
            {
                if(!pattern.exec(idCard))
                {
                    parent.layer.alert('请输入正确的邮政编码!', {
                        skin: 'layui-layer-lan',
                    })
                }
            }
        });
10、验证日期(有时分秒):
(1)YYYYMMDD的格式 
  $("#idCard").blur(function () {
            var idCard = $("#idCard").val();
            if (idCard.length != 8) {
                parent.layer.alert('日期格式不正确1!', {
                    skin: 'layui-layer-lan',
                })
                return false ;
            }
            var dtDate = null ;
            var nYear = parseInt( idCard.substring( 0, 4 ), 10 ) ;
            var nMonth = parseInt( idCard.substring( 4, 6 ), 10 ) ;
            var nDay = parseInt( idCard.substring( 6, 8 ), 10 ) ;
            if( isNaN( nYear ) == true || isNaN( nMonth ) == true || isNaN( nDay ) == true )
            {
                parent.layer.alert('日期格式不正确2!', {
                    skin: 'layui-layer-lan',
                })
                return false ;
            }
            dtDate = new Date( nYear, nMonth - 1, nDay ) ;
            if( nYear != dtDate.getFullYear() || ( nMonth - 1 ) != dtDate.getMonth() || nDay != dtDate.getDate() )
            {
                parent.layer.alert('日期格式不正确3!', {
                    skin: 'layui-layer-lan',
                })
                return false ;
            }
    });
(2)YYYY-MM-DD的格式 
$("#idCard").blur(function () {
            var idCard = $("#idCard").val();
            var result = idCard.match(/((^((1[8-9]\d{2})|([2-9]\d{3}))(-)(10|12|0?[13578])(-)(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))(-)(11|0?[469])(-)(30|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))(-)(0?2)(-)(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)(-)(0?2)(-)(29)$)|(^([3579][26]00)(-)(0?2)(-)(29)$)|(^([1][89][0][48])(-)(0?2)(-)(29)$)|(^([2-9][0-9][0][48])(-)(0?2)(-)(29)$)|(^([1][89][2468][048])(-)(0?2)(-)(29)$)|(^([2-9][0-9][2468][048])(-)(0?2)(-)(29)$)|(^([1][89][13579][26])(-)(0?2)(-)(29)$)|(^([2-9][0-9][13579][26])(-)(0?2)(-)(29)$))/);
            if(result==null){
                parent.layer.alert('请输入正确的日期格式!', {
                    skin: 'layui-layer-lan',
                })
                return false;
            }
        });
(3)2017-04-01 23:59:59的格式 
  $("#idCard").blur(function () {
            var idCard = $("#idCard").val();
            if(idCard.length!=0){
                var reg =  /^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d$/;
                var r = idCard.match(reg);
                if(r==null)
                    parent.layer.alert('对不起,您输入的日期及时分秒格式不正确!', {
                        skin: 'layui-layer-lan',
                    })
            }
        });
(4)00:59:59的格式只验证时分秒
$("#idCard").blur(function () {
            var idCard = $("#idCard").val();
            if(idCard.length!=0){
                reg=/^((20|21|22|23|[0-1]\d)\:[0-5][0-9])(\:[0-5][0-9])?$/
                if(!reg.test(idCard)){
                    parent.layer.alert('对不起,您输入的时分秒不正确!', {
                        skin: 'layui-layer-lan',
                    })
                }
            }
        });
11、固定电话验证:
(1)js代码:格式:03151234567或者0315-1234567
$("#idCard").blur(function () {
            var idCard = $("#idCard").val();
            if(!/^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/.test(idCard)){
                parent.layer.alert('固定电话有误,请重填!', {
                    skin: 'layui-layer-lan',
                })
                return false;
            }
        });
(2)js代码:格式:0315-1234567
$("#idCard").blur(function () {
            var idCard = $("#idCard").val();
            if(!/^0[\d]{2,3}-[\d]{7,8}$/.test(idCard)){
                parent.layer.alert('固定电话有误,请重填!', {
                    skin: 'layui-layer-lan',
                })
                return false;
            }
        });
12、验证用户名js代码:
验证规则:字母、数字、下划线组成,字母开头,6-16位。例如keleyi,hovertree
  $("#idCard").blur(function () {
            var idCard = $("#idCard").val();
            var re = /^[a-zA-z]\w{5,15}$/;
            if(re.test(idCard)){
                parent.layer.alert('用户名正确!', {
                    skin: 'layui-layer-lan',
                })
            }else{
                parent.layer.alert('用户名错误!', {
                    skin: 'layui-layer-lan',
                })
            }
        });
13、判断是否是数字类型及是否超出规定的数字范围
  $("#idCard").blur(function () {
            var idCard = $("#idCard").val();
            if(idCard.length!=0){
                reg=/^[-+]?\d*$/;
                if(!reg.test(idCard)){//判断是否为数字类型(利用的是正则)
    //                if(!isNaN(idCard)){//判断是否为数字类型
                    parent.layer.alert('对不起,您输入的类型不是数字!', {
                        skin: 'layui-layer-lan',
                    })
                    return false;
                }
                if(idCard >parseInt('123')) //“123”为自己设定的最大值
                {
                    parent.layer.alert('对不起,您输入的数字超出范围!', {
                        skin: 'layui-layer-lan',
                    })
                    return false;
                }
            }
        });
14、判断文件上传的是否是Excel格式:
<div class="panel-body">
                <div class="form-group">
                    <label class="col-sm-2 control-label">上传用户:</label>
                    <input type="hidden" name="activityUserLimitVo.activityUserLimitType" value="ASSIGN_USER">
                    <div class="col-sm-8">
                        <div class="input-group row">
                            <div class="col-sm-6">
                                <input name="userInfoFile" type="file" id="userInfoFile">
                            </div>
                            <div class="col-sm-3">
                                <input type="button" id="downUserInfo" value='下载模板' onclick='downUserInfo()'/>
                            </div>
                            <c:if test="${null != activityInfoVo}">
                                <div class="col-sm-3">
                                    <input type="button" id="downUserFile" value='查看文件' onclick='userInfoExport(${activityInfoVo.id})'/>
                                </div>
                            </c:if>
                        </div>
                    </div>
                </div>
            </div>
//上传文件类型的验证
            if ($("#activityCTypeEnum").val() == 'RATE_WEBSITE') {
                var filepath = $("input[name='userInfoFile']").val();
                var extStart = filepath.lastIndexOf(".");
                var ext = filepath.substring(extStart, filepath.length).toUpperCase();
                var activityId = $("input[name='id']").val();
                if (!activityId && ext != ".XLSX" && ext != '.XLS') {
                    parent.layer.alert('请选择正确的文件', {
                        skin: 'layui-layer-lan',
                    });
                    return false;
                }
            } else {
                $("input[name='activityUserLimitVo.activityUserLimitType']").val(null);
            }


15、只能输入两位小数:
(1)onkeyup="clearNoNum(this)"
  //校验输入框只能输入两位小数
    function clearNoNum(obj)
    {
        //先把非数字的都替换掉,除了数字和.
        obj.value = obj.value.replace(/[^\d.]/g,"");
        //保证只有出现一个.而没有多个.
        obj.value = obj.value.replace(/\.{2,}/g,".");
        //必须保证第一个为数字而不是.
        obj.value = obj.value.replace(/^\./g,"");
        //保证.只出现一次,而不能出现两次以上
        obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
        //只能输入两个小数
        obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');
    }
(2)onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false"
(16)、git版本回退:
(1):使用Git log命令查看所有的历史版本,获取某个历史版本的id,假设查到历史版本的id是139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96。
git reset --hard 139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96  
(2):把修改推到远程服务器

git push -f -u origin master  

(17)

银行卡校验
/*     校验过程:     1、从卡号最后一位数字开始,逆向将奇数位(1、3、5等等)相加。     2、从卡号最后一位数字开始,逆向将偶数位数字,先乘以2(如果乘积为两位数,将个位十位数字相加,即将其减去9),再求和。     3、将奇数位总和加上偶数位总和,结果应该可以被10整除。     */     /**      * 校验银行卡卡号      */     public static boolean checkBankCard(String bankCard) {         if(bankCard.length() < 15 || bankCard.length() > 19) {             return false;         }         char bit = getBankCardCheckCode(bankCard.substring(0, bankCard.length() - 1));         if(bit == 'N'){             return false;         }         return bankCard.charAt(bankCard.length() - 1) == bit;     }     /**      * 从不含校验位的银行卡卡号采用 Luhm 校验算法获得校验位      * @param nonCheckCodeBankCard      * @return      */     public static char getBankCardCheckCode(String nonCheckCodeBankCard){         if(nonCheckCodeBankCard == null || nonCheckCodeBankCard.trim().length() == 0                 || !nonCheckCodeBankCard.matches("\\d+")) {             //如果传的不是数据返回N             return 'N';         }         char[] chs = nonCheckCodeBankCard.trim().toCharArray();         int luhmSum = 0;         for(int i = chs.length - 1, j = 0; i >= 0; i--, j++) {             int k = chs[i] - '0';             if(j % 2 == 0) {                 k *= 2;                 k = k / 10 + k % 10;             }             luhmSum += k;         }         return (luhmSum % 10 == 0) ? '0' : (char)((10 - luhmSum % 10) + '0');     }
将图片文件转化为字节数组字符串
/**      * 将图片文件转化为字节数组字符串,并对其进行Base64编码处理      * @param imgFile 图片路径      * @return      */     public static String getImageStr(String imgFile) {         // 待处理的图片         InputStream in = null;         byte[] data = null;         // 读取图片字节数组         try {             in = new FileInputStream(imgFile);             data = new byte[in.available()];             in.read(data);             in.close();         } catch (IOException e) {             e.printStackTrace();         }         // 对字节数组Base64编码         BASE64Encoder encoder = new BASE64Encoder();         return encoder.encode(data);// 返回Base64编码过的字节数组字符串     }
将字节数组字符串转化为图片文件
public static boolean generateImage(String imgStr,String imgFile)throws Exception {         // 对字节数组字符串进行Base64解码并生成图片         if (imgStr == null) // 图像数据为空             return false;         BASE64Decoder decoder = new BASE64Decoder();         try {             // Base64解码             byte[] b = decoder.decodeBuffer(imgStr);             for (int i = 0; i < b.length; ++i) {                 if (b[i] < 0) {// 调整异常数据                     b[i] += 256;                 }             }             // 生成jpeg图片             String imgFilePath = imgFile;// 新生成的图片             OutputStream out = new FileOutputStream(imgFilePath);             out.write(b);             out.flush();             out.close();             return true;         } catch (Exception e) {             throw e;         }     }
生成随意8位字符
/**      * 生成随意8位字符,一千万内无重复      * @return      */     public static String generateShortUuid() {         StringBuffer shortBuffer = new StringBuffer();         String uuid = UUID.randomUUID().toString().replace("-", "");         for (int i = 0; i < 8; i++) {             String str = uuid.substring(i * 4, i * 4 + 4);             int x = Integer.parseInt(str, 16);             shortBuffer.append(chars[x % 0x3E]);         }         return shortBuffer.toString();     }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值