Javascript 使Jquery代码通用?

Javascript 使Jquery代码通用?,javascript,jquery,asp.net-mvc-3,Javascript,Jquery,Asp.net Mvc 3,我的Jquery代码基本上在复制粘贴时验证文本框的值 此代码适用于多个页面中的多个输入字段。所有页面都使用一个公共JavaScript文件和一个公共布局页面 var regex = /^[A-Za-z0-9AEIOUaeiou\.\-\~\`\'']*$/; $('#InputField1').bind('input propertychange', function () { var value = $(this).val(); if (!regex.test(value))

我的Jquery代码基本上在复制粘贴时验证文本框的值 此代码适用于多个页面中的多个输入字段。所有页面都使用一个公共JavaScript文件和一个公共布局页面

var regex = /^[A-Za-z0-9AEIOUaeiou\.\-\~\`\'']*$/;
$('#InputField1').bind('input propertychange', function () {
    var value = $(this).val();
    if (!regex.test(value)) {
        $(this).val("");
    }
});
除了在每一页上都写上这段代码,还有什么方法可以让这段代码更通用??也就是说,下面的代码部分是否可以在布局页面或JavaScript页面的某个地方编写一次

var value = $(this).val();
if (!regex.test(value)) {
    $(this).val("");
}

让它成为通用的。例如,所有验证元素都应该具有相同的css类。需要验证才能识别它们。然后,您可以通过常规方式选择它们:

    var regex = /^[A-Za-z0-9ĀĒĪŌŪāēīōū\.\-\~\`\'']*$/;
    $('.requires-validation').bind('input propertychange', function () {
        var value = $(this).val();
        if (!regex.test(value)) {
            $(this).val("");
        }
    });

让它成为通用的。例如,所有验证元素都应该具有相同的css类。需要验证才能识别它们。然后,您可以通过常规方式选择它们:

    var regex = /^[A-Za-z0-9ĀĒĪŌŪāēīōū\.\-\~\`\'']*$/;
    $('.requires-validation').bind('input propertychange', function () {
        var value = $(this).val();
        if (!regex.test(value)) {
            $(this).val("");
        }
    });

这是jQuery最棒的地方之一。您可以在全局JavaScript文件中执行此操作:

(function($){  
 $.fn.validatePropertyChange = function() {  

    return this.each(function() {
         var self = $(this);
         var regex = /^[A-Za-z0-9ĀĒĪŌŪāēīōū\.\-\~\`\'']*$/;
             $(self).bind('input propertychange', function () {
             var value = $(this).val();
             if (!regex.test(value)) {
                  $(this).val("");
             }
          });
    });  
 };  
})(jQuery);
然后打电话:

$('#InputField1').validatePropertyChange();
您还可以链接ID,例如:

$('#InputField1, #InputField2').validatePropertyChange();
也可以使用CSS选择器

$('.required-field').validatePropertyChange();

这是jQuery最棒的地方之一。您可以在全局JavaScript文件中执行此操作:

(function($){  
 $.fn.validatePropertyChange = function() {  

    return this.each(function() {
         var self = $(this);
         var regex = /^[A-Za-z0-9ĀĒĪŌŪāēīōū\.\-\~\`\'']*$/;
             $(self).bind('input propertychange', function () {
             var value = $(this).val();
             if (!regex.test(value)) {
                  $(this).val("");
             }
          });
    });  
 };  
})(jQuery);
然后打电话:

$('#InputField1').validatePropertyChange();
您还可以链接ID,例如:

$('#InputField1, #InputField2').validatePropertyChange();
也可以使用CSS选择器

$('.required-field').validatePropertyChange();