Js验证输入框

Validate.js

$.extend($.fn.validatebox.defaults.rules,{
	CHS : {
		validator : function(value, param) {
			return /^[\u0391-\uFFE5]+$/.test(value);
		},
		message : '请输入汉字'
	},
	ZIP : {
		validator : function(value, param) {
			return /^[1-9]\d{5}$/.test(value);
		},
		message : '邮政编码不存在'
	},
	QQ : {
		validator : function(value, param) {
			return /^[1-9]\d{4,10}$/.test(value);
		},
		message : 'QQ号码不正确'
	},
	mobile : {
		validator : function(value, param) {
			return /^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$/
					.test(value);
		},
		message : '手机号码不正确'
	},
	doubleNumber : {
		validator : function(value, param) {
			return /^[-+]?\d+(\.\d+)?$/.test(value);
		},
		message : '只能是数字小数点负号'
	},
	TaskpointName : {
		validator : function(value, param) {
			return !/^[\"&?%#$]*$/.test(value);
		},
		message : '名称不允许</br>输入双引号、&、?、%、#、$。'
	},
	loginName : {
		validator : function(value, param) {
			return /^[\u0391-\uFFE5\w]+$/.test(value);
		},
		message : '名称只允许汉字</br>字母、数字及下划线。'
	}
	
});


Html页面使用情况

<!--doubleNumber就是Js验证类型 同时要引入该Js -->
<td><input id="xxx" name="xx" validType="doubleNumber" /></td>


验证字段是否唯一

/**
 * 字段的唯一性校验
 * validType="unique['findValidationMarkernumber.do','add','','id',true,'输入值已存在']"
 * 第一个参数:请求的url;
 * 第二个参数:add/update;新增为add,修改为update,新增修改用同一页面时为update;
 * 第三个参数:是hidden的id;新增时为空,修改时在页面中加一个hidden(只要id属性不要name属性),在加载时给hidden赋值
 * 第四个参数:要验证的表的字段或实体属性
 * 第五个参数:ture/false;true:要求不存在数据但是库中有数据;false:要求存在但是数据库中没有数据
 * 第六个参数:提示信息内容
 * 第七个参数:实体名称
 * @param {Object} value
 * @param {Object} param
 * @memberOf {TypeName} 
 * @return {TypeName} 
 */
$.extend($.fn.validatebox.defaults.rules,{
    unique: {
        validator: function(value, param){
			if(!(param.length != 5 || param.length != 6)){
				this.message = "参数个数配置错误";
				return false;
			}
            var url = param[0];
            var type = param[1],controlId = param[2],msg = "";
            if(type != "" && controlId != ""){
            	var controlValue = $("#"+controlId).val();
                if(type == "update" && controlValue != ""){
                	if(value == controlValue){
                		return true;
                	}
                }
            }
            var flag = param[4];
			if(param.length == 5){
            	msg = flag ? "输入值已存在" : "输入值不存在";
            	$("#submit").removeAttr("disabled");
			}else{
				msg = param[5];
			}
          	var response = $.ajax({
				url:url,
				type:"post",
				datatype:"json",
				async:false,
				data:{
          			"fieldname" : param[3],
				"fieldvalue" : value,
                                "entityName"  : param[6]
				}
			}).responseText;
			var b = $.parseJSON(response);
			//exists
			if(flag){
				if (b == "1" || b == true) {
					this.message = msg;
					$("#submit").removeAttr("disabled");
					return false;
				} else{
					return true;
				}
			}else{ // not exists
				if (b == "1" || b == true) {
					return true;
				} else{
					this.message = msg;
					return false;
				}
			}
        },   
        message: '输入值已存在'
    }   
});


后台代码

        /**
	 	 * 
		 *@User   :Test
		 *@date   :2014-5-17 上午11:14:27
		 *@return :String
		 *@userFor : Controller
		 */
	   @RequestMapping(value = "/isRepeat")
	   @ResponseBody
	   public String isRepeat(HttpServletRequest request){
	        String fieldname = request.getParameter("fieldname");
	        String fieldvalue = request.getParameter("fieldvalue");
                String entityName= request.getParameter("entityName");
	        //标志位用于区别新增和修改
	        String flag = request.getParameter("flag");
	        return xxService.countField(fieldname,fieldvalue,flag,entityName);
	   }
        /**
		 * 
		 *@User   :Test
		 *@date   :2014-5-17 上午13:14:27
		 *@return :String
		 *@userFor : Service
		 */
public String countField(String fieldname,String fieldvalue,String flag,String entityName){
        int size = this.xxDao.checkRepeat(fieldname, fieldvalue,flag,entityName);
        if(size==0)
            return "0";
        return "1";
    }

    /**
	 * 
	 *@User   :Tesr
	 *@date   :2014-6-17 下午03:42:53
	 *@return :int
	 *@userFor :xxDao判断是否唯一
	 */
	 public int checkRepeat(String fieldname,String fieldvalue,String flag,String entityName){
        String hql = " from "+entityName+" where 1=1 and x.historicalstate=1";
        if("add".equals(flag))
        {
        	hql+= " and x."+fieldname+" ='"+fieldvalue+"' ";
        }
        else
        {
        	hql+= " and x."+fieldname+" ='"+fieldvalue+"' and x."+fieldname+" !='"+flag+"'";
        }
        return find(hql).size();
	 }


html页面验证

<td><input id="markernumber" 			validType="unique['isRepeat.do','add','','字段名',true,'该XX已存在','实体名']" /></td>


你可能感兴趣的:(js)