前端jquery控制input只能输入符合规范的手机号码

这段HTML和JavaScript代码展示了如何使用jQuery实现一个输入框,只允许用户输入符合特定规则的11位手机号码。当输入不符合规则时,会显示错误提示;若输入正确,则显示正确标志。
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<input type="text" id="inputPerameter" maxlength="11" oninput="test()"/><span class="hint_str"></span>
		<script type="text/javascript" src="js/jquery-1.9.0.min.js"></script>
		<script type="text/javascript">
			var inputPerameter = $('#inputPerameter');
			var booleanValue = true,value;
			function test(){
				value = inputPerameter.val();
				if(value==''){
				booleanValue = true;
				}
				if(value.length>3){
					subValue = value.substring(-1,3);
					if(booleanValue&&subValue.length==3){
					if(subValue.substring(1,2)=='3'||subValue.substring(1,2)=='5'||subValue.substring(1,2)=='8'){	
					booleanValue = /^[1]{1}(([3]|[5]|[8]){1})([0-9]{1})$/.test(subValue);
					}else if(subValue.substring(1,2)=='4'){	
					booleanValue = /^[1]{1}[4]{1}(([5]|[7]){1})$/.test(subValue);	
					}else if(subValue.substring(1,2)=='7'){		
					booleanValue = /^[1]{1}[7]{1}(([0]|[1]|[3]|[5]|[6]|[7]|[8]){1})$/.test(subValue);		
					}else{
						booleanValue = false;
					}
				}
				}else{
				if(value.length==1){	
				booleanValue = /^[1]{1}$/.test(value);	
				}else if(value.length==2){
				booleanValue = /^[1]{1}(([3]|[4]|[5]|[7]|[8]){1})$/.test(value);	
				}else if(booleanValue&&value.length==3){
					if(value.substring(1,2)=='3'||value.substring(1,2)=='5'||value.substring(1,2)=='8'){	
					booleanValue = /^[1]{1}(([3]|[5]|[8]){1})([0-9]{1})$/.test(value);
					}else if(value.substring(1,2)=='4'){	
					booleanValue = /^[1]{1}[4]{1}(([5]|[7]){1})$/.test(value);	
					}else if(value.substring(1,2)=='7'){		
					booleanValue = /^[1]{1}[7]{1}(([0]|[1]|[3]|[5]|[6]|[7]|[8]){1})$/.test(value);		
					}else{
						booleanValue = false;
					}
				}	
				}
				if(!booleanValue||!/^\d*$/.test(value)||value.length<11){
					//显示错误标志
					$('.hint_str').css('display','block');
					$('.hint_str').html('格式错误');
					$('.hint_str').css('color','red');
				}else{
					//隐藏错误标志
					$('.hint_str').css('display','none');
				}
				if(/^\d{11}$/.test(value)&&booleanValue){
					//显示正确标志
					$('.hint_str').css('display','block');
					$('.hint_str').html('正确');
					$('.hint_str').css('color','lawngreen');
				}
			}
		</script>
	</body>
</html>

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值