這個(gè)實(shí)現(xiàn)的是點(diǎn)擊下拉框選擇身份證則驗(yàn)證身份證,點(diǎn)擊護(hù)照則驗(yàn)證護(hù)照,那如何進(jìn)行反選?就是點(diǎn)擊文本框輸入身份證號,那么下拉框只能選擇身份證,文本框輸入的是護(hù)照,點(diǎn)擊下拉框只能選擇護(hù)照
<script>
????$(document).ready(function?()?{
????????$("#idType").change(function?()?{
????????????if?($("#idType?option:selected").text()=="身份證"){
????????????????SelectCard();
????????????}else?if?($("#idType?option:selected").text()=="護(hù)照"){
????????????????SelectpassPort();
????????????}
????????});
????????
????});
????/*身份證驗(yàn)證*/
????function?SelectCard()?{
????????var?inp?=?$('#idNbr'),?//輸入框
????????????????tips?=?$('#tips');??//提示文本框
????????inp.on({
????????????keyup?:?function?()?{
????????????????var?val?=?$(this).val();
????????????????if(checkCard(val)){
????????????????????tips.text('').css('color','green');
????????????????}else{
????????????????????tips.text('請輸入正確的身份證號').css('color','#f76d6d');
????????????????}
????????????},
????????});
????????function?checkCard(num){
????????????num?=?num.toUpperCase();
????????????if?(!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(num)))?{
????????????????return?false;
????????????}
????????????var?len,?re;
????????????len?=?num.length;
????????????if?(len?==?15)
????????????{
????????????????re?=?new?RegExp(/^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/);
????????????????var?arrSplit?=?num.match(re);
????????????????var?dtmBirth?=?new?Date('19'?+?arrSplit[2]?+?'/'?+?arrSplit[3]?+?'/'?+?arrSplit[4]);
????????????????var?bGoodDay;
????????????????bGoodDay?=?(dtmBirth.getYear()?==?Number(arrSplit[2]))?&&?((dtmBirth.getMonth()?+?1)?==?Number(arrSplit[3]))?&&?(dtmBirth.getDate()?==?Number(arrSplit[4]));
????????????????if?(!bGoodDay)?{
????????????????????return?false;
????????????????}?else?{
????????????????????var?arrInt?=?new?Array(7,?9,?10,?5,?8,?4,?2,?1,?6,?3,?7,?9,?10,?5,?8,?4,?2);
????????????????????var?arrCh?=?new?Array('1',?'0',?'X',?'9',?'8',?'7',?'6',?'5',?'4',?'3',?'2');
????????????????????var?nTemp?=?0,?i;
????????????????????num?=?num.substr(0,?6)?+?'19'?+?num.substr(6,?num.length?-?6);
????????????????????for?(i?=?0;?i?<?17;?i?++)?{
????????????????????????nTemp?+=?num.substr(i,?1)?*?arrInt[i];
????????????????????}
????????????????????num?+=?arrCh[nTemp?%?11];
????????????????????return?true;
????????????????}
????????????}
????????????if?(len?==?18)?{
????????????????re?=?new?RegExp(/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/);
????????????????var?arrSplit?=?num.match(re);
????????????????var?dtmBirth?=?new?Date(arrSplit[2]?+?"/"?+?arrSplit[3]?+?"/"?+?arrSplit[4]);
????????????????var?bGoodDay;
????????????????bGoodDay?=?(dtmBirth.getFullYear()?==?Number(arrSplit[2]))?&&?((dtmBirth.getMonth()?+?1)?==?Number(arrSplit[3]))?&&?(dtmBirth.getDate()?==?Number(arrSplit[4]));
????????????????if?(!bGoodDay)?{
????????????????????return?false;
????????????????}?else?{
????????????????????var?valnum;
????????????????????var?arrInt?=?new?Array(7,?9,?10,?5,?8,?4,?2,?1,?6,?3,?7,?9,?10,?5,?8,?4,?2);
????????????????????var?arrCh?=?new?Array('1',?'0',?'X',?'9',?'8',?'7',?'6',?'5',?'4',?'3',?'2');
????????????????????var?nTemp?=?0,?i;
????????????????????for(i?=?0;?i?<?17;?i?++)
????????????????????{
????????????????????????nTemp?+=?num.substr(i,?1)?*?arrInt[i];
????????????????????}
????????????????????valnum?=?arrCh[nTemp?%?11];
????????????????????if?(valnum?!=?num.substr(17,?1))?{
????????????????????????return?false;
????????????????????}
????????????????????return?true;
????????????????}
????????????}
????????????return?false;
????????}
????}
????/*護(hù)照號驗(yàn)證*/
????function?SelectpassPort()?{
????????var?inp?=?$('#idNbr'),?//輸入框
????????????????tips?=?$('#tips');??//提示文本框
????????inp.on({
????????????keyup?:?function?()?{
????????????????var?val?=?$(this).val();
????????????????if(checkNumber(val)){
????????????????????tips.text('').css('color','green');
????????????????}else{
????????????????????tips.text('請輸入正確的護(hù)照號').css('color','#f76d6d');
????????????????}
????????????},
????????});
????????function?checkNumber(number){
????????????var?str=number;
????????????var?Expression=/(P\d{7})|(G\d{8})/;
????????????var?objExp=new?RegExp(Expression);
????????????if(objExp.test(str)==true){
????????????????return?true;
????????????}else{
????????????????return?false;
????????????}
????????}
????}
</script>
如何實(shí)現(xiàn)反選
薏苡x
2017-08-04 10:03:14