提交表单信息常用格式验证,防止冒泡,移动端避免键盘挡输入框,取消回退(持续更新)



//字符串非空验证
function isEmpty(str) {
	if(str == "" || str == null || str == undefined){
		return true;
	}else{
		return false;
	}
}
//检查email邮箱
function isEmail(str){
var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
return reg.test(str);
}
//检查身份证
function isIDCard(str){
	var reg;
	if(str.length==15){
		reg = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;
	}
	else if(str.length==18){
		reg = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;
	}else{
		return false;
	}
return reg.test(str);
}
//检查手机号
function isMobile(str){
var reg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
return reg.test(str);
}
//检查固定电话(带区号)
function isTel(str){
var reg = /^0\d{2,3}-\d{7,8}(-\d{1,6})?$/;
return reg.test(str);
}
//检查汉字
function isChianes(str){
var reg = /[^\u4E00-\u9FA5]/g;
return reg.test(str);
}
//只允许输入汉字
$("input").keyup(function(){
	if(this.id=='real_name'||this.id=='work_org'){
		//keyup事件处理
		if(!isEmpty($(this).val())&isChianes($(this).val())){
			$.modal({
	            text: "请输入中文格式",
	            buttons: [
	                {
	                    text: '确定',
	                }
	            ]
	        });
		}
		$(this).val($(this).val().replace(/[^\u4E00-\u9FA5]/g,''));
	}
}).bind("paste",function(){
	//CTR+V事件处理
	if(isChianes($(this).val())){
		$.modal({
            text: "请输入中文格式",
            buttons: [
                {
                    text: '确定',
                }
            ]
        });
	}
	$(this).val($(this).val().replace(/[^\u4E00-\u9FA5]/g,''));
}).css("ime-mode", "disabled");
// 回车提交
function doKeyupSubmit(evt){
   evt = (evt) ? evt : ((window.event) ? window.event : "");
   var key = evt.keyCode ? evt.keyCode : evt.which;
   if (key && key == 13) {
       doSubmit();
   }
}
//失去焦点时验证格式
$("input").blur(function(){
	if(this.id=='id_card'){
		if(!isEmpty($(this).val())&!isIDCard($(this).val())){
			$.modal({
	            text: "身份证格式不正确",
	            buttons: [
	                {
	                    text: '确定',
	                }
	            ]
	        });
			return;
		}
	}
	if(this.id=='email'){
		if(!isEmpty($(this).val())&!isEmail($(this).val())){
			$.modal({
	            text: "邮箱格式不正确",
	            buttons: [
	                {
	                    text: '确定',
	                }
	            ]
	        });
			return;
		}
	}
	if(this.id=='mobile'){
		if(!isEmpty($(this).val())&!isMobile($(this).val())){
			$.modal({
	            text: "手机号格式不正确",
	            buttons: [
	                {
	                    text: '确定',
	                }
	            ]
	        });
			return;
		}
	}
	if(this.id=='tel'){
		if(!isEmpty($(this).val())&!isTel($(this).val())){
			$.modal({
	            text: "固定电话格式不正确",
	            buttons: [
	                {
	                    text: '确定',
	                }
	            ]
	        });
			return;
		}
	}
});
/*字数限制*/
$("#profile").on("input propertychange", function() {
    var $this = $(this),
        _val = $this.val();
    if (_val.length > 200) {
        $this.val(_val.substring(0, 200));
    }
    count = 200 - $this.val().length;
    $("#text_count").text(count);
});
//输入后自动补全单位(年)
var work_years;
$("#work_years").blur(function(){
	 work_years = $(this).val().trim();
	if(!isEmpty(work_years)&work_years.indexOf("年")<0)
		 $(this).val(work_years+"年");
});
//屏幕高度
var win_h;
$(document).ready(function(){
	win_h = $(window).height();//获取屏幕高度
});
//焦点初始位置靠右
$(document).on("click","li",function(){
	var $this=$(this).find("input");
	var t=$(this).val();
	if($this.attr('type')=='file'||$this.attr('id')=='city-picker'){
    	$this.click();
	}else{
		$this.val("").focus().val(t);
	}
	$("body").height(win_h);  //获取焦点后重设body高度
});
//防止冒泡
$(document).on("click","input[type=file]",function(event){
	event.stopPropagation();
	//event.preventDefault();取消事件的默认行为
});
//防止回退
$(document).ready(function(e) {
	var counter = 0;
	if (window.history && window.history.pushState) {
		$(window).on('popstate', function () {
			window.history.pushState('forward', null, '#');
			window.history.forward(1);
			//$("#label").html("第" + (++counter) + "次单击后退按钮。");
		});
	}
	window.history.pushState('forward', null, '#'); //在IE中必须得有这两行
	window.history.forward(1);
});
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值