`

jQuery formValidator插件的一个不完善的地方

阅读更多
jQuery formValidator中有个验证字符串长度的inputValidator

$("#advName").formValidator({onshow:"请输入联系人",onfocus:"联系人至少1个字符,最多8个汉字",oncorrect:"输入正确"}).functionValidator({fun:function(val,elem){$(elem).val($.trim(val))}}).inputValidator({min:1,max:16,onerror:"联系人最少1个汉字最大8个汉字,请确认"});


当输入16个字符或者8个以内的汉字时,提示都是正常的。

但是这个汉字的验证只是针对中文汉字,而不包括中文标点符号,举个例子:

如果输入7个汉字+2个中文标点的时候,验证仍然能通过。因为它把中文标点当做一个字符来处理了。
而在数据库中,中文标点是当2个字符来处理的。

打开源码formValidator3.5.js,找到判断字符串长度的函数,修改如下:

//获取指定字符串的长度
getLength : function(id)
{
    var srcjo = $("#"+id);
	var elem = srcjo.get(0);
    sType = elem.type;
    var len = 0;
    switch(sType)
	{
		case "text":
		case "hidden":
		case "password":
		case "textarea":
		case "file":
	        var val = srcjo.val();
			var initConfig = $.formValidator.getInitConfig(elem.settings[0].validatorgroup);
			if (initConfig.wideword)
			{
				for (var i = 0; i < val.length; i++) 
				{
					if (val.charCodeAt(i) >= 0x4e00 && val.charCodeAt(i) <= 0x9fa5){ 
						len += 2;
					}else if ((val.charCodeAt(i) >= 0xff00 && val.charCodeAt(i) <= 0xffef)
							|| (val.charCodeAt(i) >= 0x3000 && val.charCodeAt(i) <= 0x303f)){
						//全角ASCII、全角中英文标点、半宽片假名、半宽平假名、半宽韩文字母
						//作为2个字符计算
						len += 2;
					}else {
						len++;
					}
				}
			}
			else{
				len = val.length;
			}
	        break;
		case "checkbox":
		case "radio": 
			len = $("input[type='"+sType+"'][name='"+srcjo.attr("name")+"']:checked").length;
			break;
	    case "select-one":
	        len = elem.options ? elem.options.selectedIndex : -1;
			break;
		case "select-multiple":
			len = $("select[name="+elem.name+"] option:selected").length;
			break;
    }
	return len;
},


最后感谢作者猫冬(wzmaodong@126.com)的辛苦杰作。
1
0
分享到:
评论

相关推荐

    jQuery formValidator表单验证插件示例源码

    jQuery formValidator是一款强大的JavaScript表单验证插件,它基于jQuery库,用于在用户提交表单前验证输入数据的正确性和格式。这个插件提供了一系列灵活的验证规则和自定义选项,使得开发者能够轻松地实现复杂的...

    基于jquery框架,采用jQuery formValidator表单验证插件。

    基于jquery框架,采用jQuery formValidator表单验证插件。

    jQuery formValidator表单验证插件4.1.3提供下载

    jQuery formValidator表单验证插件,它是基于jQuery类库,实现了js脚本于页面html代码的分离。你可以划分多个校验组,每个组的校验都是互不影响。对一个表单对象,你只需要写一行代码就可以轻松实现无数种(理论上)...

    jQuery formvalidator插件 API帮助文档

    jQuery FormValidator是一款强大的JavaScript验证插件,它极大地简化了网页表单的验证过程,提供了丰富的验证规则和灵活的API,使得开发者可以快速创建出符合业务需求的验证机制。本篇文章将深入探讨jQuery ...

    jQuery formValidator表单验证插件

    jQuery formValidator是一款高效且功能丰富的JavaScript验证插件,专为基于jQuery的Web应用程序设计。它简化了表单验证的过程,提供了多种预定义的验证规则,以及自定义验证方法,使开发者能够轻松地创建符合业务...

    jquery 表单插件 formvalidator

    jQuery FormValidator 是一个强大且灵活的验证插件,尤其适用于处理大型、复杂的表单提交场景。这个插件通过丰富的自定义选项和易于使用的API,使得开发者能够轻松地对表单元素进行验证。 ### 1. 插件安装与引入 ...

    jQuery formValidator表单验证

    jQuery formValidator是一款基于jQuery库的高效、灵活的表单验证插件,旨在帮助开发者轻松实现对用户输入数据的实时验证,提高用户体验并确保数据的准确性和完整性。它提供了丰富的验证规则,可以覆盖大部分常见的...

    jQuery formValidator表单验证插件示例源码.rar

    jQuery formValidator是一款强大的JavaScript表单验证插件,它基于jQuery库构建,旨在简化网页表单的数据验证过程,提供用户友好的交互体验。该插件通过自定义规则和错误消息,可以轻松实现各种复杂的验证需求,使得...

    JQuery formvalidator4.1.1(实例+文档).rar

    总结,JQuery FormValidator 4.1.1是一个强大且灵活的前端验证工具,它使得前端数据验证变得更加简单和高效。通过深入理解其核心特性和利用提供的实例与文档,开发者可以有效地提升项目的用户体验和数据质量。

    jQuery formValidator表单验证插件实例(php)

    jQuery formValidator是一个强大的验证插件,它提供了丰富的验证规则和自定义功能,能够帮助开发者轻松实现前端验证。本文将深入探讨jQuery formValidator的使用方法、基本配置以及与PHP的集成。 ### 1. jQuery ...

    jQuery formvalidator插件

    jQuery formvalidator插件 API帮助文档 jQuery formvalidator插件 目前支持4种大的校验方式,分别是:InputValidator(针对input、textarea、select控件)、CompareValidator、AjaxValidator、RegexValidator、...

    商业编程-源码-jQuery formValidator表单验证插件示例源码.zip

    jQuery formValidator插件是一款强大的前端验证工具,专为jQuery设计,能够帮助开发者轻松实现复杂的表单验证功能。本篇将详细介绍该插件的核心概念、使用方法以及常见应用场景。 一、jQuery formValidator插件简介...

    jQuery formValidator表单验证插件3.5a版本发布,适合jQuery1.3.2类库

    jQuery formValidator是一款强大的JavaScript表单验证插件,它与jQuery 1.3.2库兼容,使得在网页中实现高效且美观的表单验证变得轻而易举。这个3.5a版本的发布旨在提供更加稳定和功能丰富的验证解决方案,以满足...

    jQuery formValidator表单验证插件3.1.rar

    jQuery formValidator是一款强大的JavaScript表单验证插件,用于在客户端实现高效、自定义的表单数据验证。这个插件的3.1版本包含了完整的API文档、源代码以及示例,帮助开发者更好地理解和应用该工具。 **jQuery ...

    jquery formValidator

    `jQuery FormValidator`是一款基于jQuery库的前端表单验证插件,它为开发者提供了一种简单而强大的方式来实现表单验证。这个插件在Web开发领域中颇受欢迎,因为它可以方便地添加验证规则,避免用户提交无效或不完整...

Global site tag (gtag.js) - Google Analytics