原生前端页面校验

一个简单的小Demo展示原生的前端校验

<%@ page contentType = "text/html;charset=UTF-8" %>
<%@ page import = "java.sql.*" %>
<!-- CSS goes in the document HEAD or added to your external stylesheet -->
<style type="text/css">
table.gridtable {
font-family: verdana,arial,sans-serif;
font-size:16px;
color:#333333;
border-width: 1px;
border-color: #666666;
border-collapse: collapse;
}
table.gridtable th {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #666666;
background-color: #dedede;
}
table.gridtable td {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #666666;
background-color: #ffffff;
}
</style>
<html>
 <head> 
  <title>前端校验测试</title> 
 </head> 
 <body> 
  <h1>前端校验测试</h1> 
  <table  class="gridtable" 
  > 
   <thead> 
    <tr> 
     <th>规则</th> 
     <th>测试区</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr> 
     <td width="50%" height="40" align="left"> <font color="red" size="4"><strong>通用方法测试</strong></font>* 1、过滤首尾空格 * 2、字母自动转大写</td> 
     <td width="50%" height="40" align="left"> <input name="conditon1" type="text" class="common" maxlength="37" style="width: 50%" value="通用方法测试" onblur="commonFunction(this);" /> </td> 
    </tr> 
    <tr> 
     <td width="50%" height="40" align="left"> <font color="red" size="4"><strong>身份证号验证</strong></font> * 1、只能是15位或18位数字和字母 * 2、中间不允许空格 </td> 
     <td width="50%" height="40" align="left"> <input name="conditon1" type="text" class="common" maxlength="37" style="width: 50%" value="1" onblur="fucCheckIDCard(this);" /> </td> 
    </tr> 
    <tr> 
     <td width="50%" height="40" align="left"> <font color="red" size="4"><strong>港澳台居住证</strong></font> * 1、只能是18位数 * 2、中间不允许空格 </td> 
     <td width="50%" height="40" align="left"> <input name="conditon1" type="text" class="common" maxlength="37" style="width: 50%" value="2" onblur="fucCheckHKIDCard(this);" /> </td> 
    </tr> 
    <tr> 
     <td width="50%" height="40" align="left"><font color="red" size="4"><strong>驾驶证号码</strong></font> * 1、只能是12位数 * 2、中间不允许空格 </td> 
     <td width="50%" height="40" align="left"><input name="conditon1" type="text" class="common" maxlength="37" style="width: 50%" value="3" onblur="fucCheckCarIDCard(this);" /> </td> 
    </tr> 
    <tr> 
     <td width="50%" height="40" align="left"><font color="red" size="4"><strong>车架号/VIN码</strong></font> * 1、只能是17位字母+数字 * 2、中间不允许空格 </td> 
     <td width="50%" height="40" align="left"><input name="conditon1" type="text" class="common" maxlength="37" style="width: 50%" value="4" onblur="fucCheckSocialCreditCode(this);" /> </td> 
    </tr> 
    <tr> 
     <td width="50%" height="40" align="left"><font color="red" size="4"><strong>车牌号码</strong></font> * 1、汉字+字母+数字组合,长度不超过15; * 2、不包括*、%、-等特殊符号 </td> 
     <td width="50%" height="40" align="left"><input name="conditon1" type="text" class="common" maxlength="37" style="width: 50%" value="5" onblur="fucCheckCarLicensePlate(this);" /> </td> 
    </tr> 
    <tr> 
     <td width="50%" height="40" align="left"><font color="red" size="4"><strong>发动机号码</strong></font> * 1、不包括*、%、-等特殊符号 </td> 
     <td width="50%" height="40" align="left"><input name="conditon1" type="text" class="common" maxlength="37" style="width: 50%" value="6" onblur="fucCheckCarEngineNumber(this);" /> </td> 
    </tr> 
    <tr> 
     <td width="50%" height="40" align="left"><font color="red" size="4"><strong>银行账号1</strong></font> * 1、只能是数字组成,长度不超过19位; * 2、不包括除数字外的其他字符; * 3、中间不允许空格</td> 
     <td width="50%" height="40" align="left"><input name="conditon1" type="text" class="common" maxlength="37" style="width: 50%" value="7" onblur="fucCheckBankAccount(this);" /> </td> 
    </tr> 
    <tr> 
     <td width="50%" height="40" align="left"><font color="red" size="4"><strong>银行账号2</strong></font> * 1、只能是数字组成,长度不超过19位; * 2、不包括除数字外的其他字符; * 3、中间不允许空格 </td> 
     <td width="50%" height="40" align="left"><input name="conditon1" type="text" class="common" maxlength="37" style="width: 50%" value="8" onblur="fucCheckBankAccount2(this);" /> </td> 
    </tr> 
    <tr> 
     <td width="50%" height="40" align="left"><font color="red" size="4"><strong>手机号码</strong></font> * 1、只能是11位数字组成; * 2、不包括除0~9数字以外的其他字母字符; * 3、数字1开头 </td> 
     <td width="50%" height="40" align="left"><input name="conditon1" type="text" class="common" maxlength="37" style="width: 50%" value="9" onblur="fucCheckPhoneNumber(this);" /> </td> 
    </tr> 
    <tr> 
     <td width="50%" height="40" align="left"><font color="red" size="4"><strong>统一社会信用代码</strong></font> * 1、长度不超过18位; * 2、只能有字母和阿拉伯数字组成; * 3、中间不允许空格 </td> 
     <td width="50%" height="40" align="left"><input name="conditon1" type="text" class="common" maxlength="37" style="width: 50%" value="10" onblur="fucCheckSocialCreditCode(this);" /> </td> 
    </tr> 
    <tr> 
     <td width="50%" height="40" align="left"><font color="red" size="4"><strong>询报价号码</strong></font> * 1、长度不超过30 * 2、只允许阿拉伯数字 * 3、中间不允许空格 </td> 
     <td width="50%" height="40" align="left"><input name="conditon1" type="text" class="common" maxlength="37" style="width: 50%" value="11" onblur="fucCheckProposalNo(this);" /> </td> 
    </tr> 
	<tr> 
     <td width="50%" height="40" align="left"><font color="red" size="4"><strong>电话号码</strong></font> * 1、包括手机与座机号码校验 </td> 
     <td width="50%" height="40" align="left"><input name="conditon1" type="text" class="common" maxlength="37" style="width: 50%" value="12" onblur="fucCheckPhoneNumberAll(this);" /> </td> 
    </tr> 
   </tbody> 
  </table> 
  <!--数据校验--> 
  <script>
/**
 * 通用规则
 * 1、过滤首尾空格
 * 2、字母自动转大写
 */
function commonFunction(field){
	var inputDate ;
	var outputDate ;
	inputDate  = field.value;
	//outputDate = inputDate.toUpperCase().replace(/\s*/g,""); 过滤全部空格和小写转大写
	outputDate = inputDate.replace(/(^\s*)|(\s*$)/g, "").toUpperCase();//过滤首尾空格,小写转大写
	field.value = outputDate;
	}
  
/**
 * 身份证号验证
 * 1、只能是15位或18位数字和字母
 * 2、中间不允许空格
 */
function fucCheckIDCard(field) {
    var idCardNum;
    idCardNum = field.value;
    // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
    var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
    if (reg.test(idCardNum)) { //1、只能是15位或18位数字和字母, 2、中间不允许空格
        return true;
    } else {
        alert("请输入正确的15位或18位身份证号码。");
        field.value = "";
        return false;
    }
}

/**
 * 港澳台居住证
 * 1、只能是18位数
 * 2、中间不允许空格
 */
function fucCheckHKIDCard(field) {
    var hkIdCardNum;
    hkIdCardNum = field.value;
    // 
    var reg = /^[0-9]{18}$/;
    if (reg.test(hkIdCardNum)) { //1、只能18位数
        return true;
    } else {
        alert("请输入正确的18位港澳台居民居住证。");
        field.value = "";
        return false;
    }
}

/**
 * 驾驶证号码
 * 1、只能是12位数
 * 2、中间不允许空格
 */
function fucCheckCarIDCard(field) {
    var carNum;
    carNum = field.value;
    var reg = /^[0-9]{12}$/;
    if (reg.test(carNum)) { //12位数
        return true;
    } else {
        alert("请输入正确的驾驶证号码。");
        field.value = "";
        return false;
    }
}

/**
 * 车架号/VIN码
 * 1、只能是17位字母+数字
 * 2、中间不允许空格
 */
function fucCheckCarFrameNumber(field) {
    var carNum;
    carNum = field.value;
    var reg = /^[0-9a-zA-Z]{17}$/;
    if (reg.test(carNum)) { //数字字母
        if (carNum.length == 17) { //17位
            return true;
        } else {
            alert("请输入正确的17位车架号/VIN码。" + carNum.length);
            field.value = "";
            return false;
        }
    } else {
        alert("请输入正确的17位车架号/VIN码。");
        field.value = "";
        return false;
    }
}

/**
 * 车牌号码
 * 1、汉字+字母+数字组合,长度不超过15;
 * 2、不包括*、%、-等特殊符号
 */
function fucCheckCarLicensePlate(field) {
    var carNum;
    carNum = field.value;
    var reg = /^[\u4E00-\u9FA50-9A-Za-z]+$/;
    var regSpc = /[^u4e00-u9fa5w]{15}$/;
    if (reg.test(carNum) && !regSpc.test(carNum) && carNum.length <= 15) { //数字字母中文 //特殊字符^%&',;=?$\" //15位
		return true;
	}else {
        alert("请输入正确的车牌号码,不包括*、%、-等特殊符号。");
        field.value = "";
        return false;
    }
}

/**
 * 发动机号码
 * 1、不包括*、%、-等特殊符号
 */
function fucCheckCarEngineNumber(field) {
    var carNum;
    carNum = field.value;
    var reg = /[^u4e00-u9fa5w]/;
    if (!reg.test(carNum)) { //数字字母中文
        return true;
    } else {
        alert("请输入正确的发动机号码。");
        field.value = "";
        return false;
    }
}

/**
 * 银行账号
 * 1、只能是数字组成,长度不超过19位;
 * 2、不包括除数字外的其他字符;
 * 3、中间不允许空格
 */
function fucCheckBankAccount(field) {
    var bankAccountNo;
    bankAccountNo = field.value;
	//js去除空格的方法 str   =   str.replace(/\s+/g,""); 
    var regbankAccountNo = /^\d{1,19}$/; //只能是数字,长度不超过19位
    if (regbankAccountNo.test(bankAccountNo) && bankAccountNo.length <= 19) {
        return true;
    } else {
        alert("请填写正确的银行账号,长度不超过19位,谢谢!");
        field.value = "";
        return false;
    }
}

/**
 * 银行账号
 * 1、只能是数字组成,长度不超过19位;
 * 2、不包括除数字外的其他字符;
 * 3、中间不允许空格
 */
function fucCheckBankAccount2(field) {
    var bankAccountNo;
    bankAccountNo = field.value;
	//js去除空格的方法 str   =   str.replace(/\s+/g,""); 
    var regbankAccountNo = /^\d{1,19}$/;
    if (regbankAccountNo.test(bankAccountNo) && bankAccountNo.length > 0 && bankAccountNo.length < 20) { //只能是数字
        return true;
    }else {
        alert("请填写正确的银行账号,长度不超过19位,谢谢!");
        field.value = "";
        return false;
    }
}
/**
 * 手机号码
 * 1、只能是11位数字组成;
 * 2、不包括除0~9数字以外的其他字母字符;
 * 3、数字1开头;
 */
function fucCheckPhoneNumber(field) {
    var phoneNum;
    phoneNum = field.value;
    var reg = /^1\d{10}$/;
    if (reg.test(phoneNum)) { //1开头的11位数字
        return true;
    } else {
        alert("请输入正确的11位数字手机号码。");
        field.value = "";
        return false;
    }
}
/**
 * 统一社会信用代码
 * 1、长度不超过18位;
 * 2、只能有字母和阿拉伯数字组成;
 * 3、中间不允许空格
 */
function fucCheckSocialCreditCode(field) {
    var creditNum;
    creditNum = field.value;
    var reg = /^[0-9a-zA-Z]{1,18}$/;
    if (reg.test(creditNum)) { //1-18位数字字母验证
        return true;
    } else {
        alert("请注意,统一社会信用代码长度不能超过18位。");
        field.value = "";
        return false;
    }
}
/**
 * 询报价号码
 * 1、长度不超过30
 * 2、只允许阿拉伯数字
 * 3、中间不允许空格
 */
function fucCheckProposalNo(field) {
    var creditNum;
    creditNum = field.value;
    var reg = /^[0-9]{1,30}$/;
    if (reg.test(creditNum) || creditNum =="") { //1-18位数字字母验证
		//field.setAttribute("class","gridtable");
		field.style.backgroundColor = '#ffffff';
        return true;
    } else {
        alert("请注意,统一社会信用代码长度不能超过18位。");
        field.value = "";
		field.style.backgroundColor = '990000';
        return false;
    }
}

/**
 * 电话号码
 */
function fucCheckPhoneNumberAll(field) {
    var creditNum;
    creditNum = field.value;
    var reg = /^([1]\d{10}|([\((]?0[0-9]{2,3}[)\)]?[-]?)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?)$/;
    if (reg.test(creditNum) || creditNum =="") { //1-18位数字字母验证
		//field.setAttribute("class","gridtable");
		field.style.backgroundColor = '#ffffff';
        return true;
    } else {
        alert("请输入正确的11位数字手机号码或电话号码。");
        field.value = "";
		field.style.backgroundColor = '990000';
        return false;
    }
}
</script> 
  <!--数据校验-->  
 </body>
</html>



<!--


/**
 * 证件号码验证(01居民身份证,06港澳台居民居住证)
 * 1、只能是15位或18位数字和字母
 * 2、中间不允许空格
 */
function fucCheckIDCard(field,identifyTypeName) {
    var idCardNum = field.value;
    var order = jtk.elementToolKit.getFieldOrder(field);
	var idType = document.getElementsByName(identifyTypeName)[order].value;
	var validateFlag = true;
    if(idType == '01'){//01居民身份证
    	validateFlag = fucCheckIDCard(field);
	}
	if(idType == '06'){//06港澳居民居住证
		var firstSixBitCheck = idCardNum.substring(0,6);
		if(firstSixBitCheck == "810000" || firstSixBitCheck == "820000" || firstSixBitCheck == "830000"){// 前6位为810000、820000或830000
			validateFlag = fucCheckIDCard(field);
		}else{
			alert("请输入正确的18位港澳台居民居住证。");
		}
	}
	return validateFlag;
}
-->
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值