_404

导航

 
$(function (){
	$("[reg]").keyup(
		function(){
			var reg = $(this)[0].getAttribute("reg");
			eval("reg = "+reg);
			var value = $(this)[0].value;
			//获取提示框是否正在显示
			var isShow = $(this)[0].getAttribute("isShow");
			var regexp = new RegExp(reg);
			//正则不匹配  提示框不显示
			if(!regexp.test(value) && (isShow==="false" || isShow===null)){
				$(this).popover('show');
				$(this)[0].setAttribute("isShow","true");
			} else if(regexp.test(value)){
				$(this)[0].setAttribute("isShow","false");
				$(this).popover('hide');
			}	
		}	
	);
});
$(function(){
	$(".checkAll").submit(function(){
		var regs = $(this).find("[reg]");
		for(var i=0; i<regs.length; i++){
			var reg = regs[i].getAttribute("reg");
			eval("reg="+reg);
			var value = regs[i].value;
			if(!reg.test(value)){
				$(regs[i]).popover('show');
				if(regs.length-1 == i){
					alert("数据未正确填写");
					return false;
				}
			}
		}
		
	});
});

 <div class="form-group">
                            <label for="inputPassword3" class="col-sm-4 control-label">手机号</label>
                            <div class="col-sm-8">
                                <input  data-container="body" data-toggle="popover" data-placement="right"
                                 data-content="<p>请输入正确的手机号</p>"
                                 data-html="true" data-trigger="manual"  
                                 reg="/^1([38]\d|4[57]|5[0-35-9]|7[06-8]|8[89])\d{8}$/"  
                                 type="text" name="phoneNumber" class="form-control" id="inputPassword3" placeholder="手机号">
                            </div>
                        </div>

 由于bootstrap的启发写了一个通用的验证(表单中只要填写一个reg的正则即可)。还没查有没有类似的插件,详细步骤明天写。bootstrap有个bug等修改了源代码以后一并提交上来

posted on 2016-06-24 03:32  有理想的咸鱼  阅读(370)  评论(0编辑  收藏  举报