如果在javascript

时间:2017-01-08 21:46:39

标签: javascript jquery

关于:如果用户输入错误,我希望输入字段为红色。并希望停止发布该字段。

HTML概念:为此,我已将数据输入验证分配给我要验证的输入。

Js概念:现在在js我创建了一个附加了两个方法的对象。
1. 验证 方法这需要3个参数(a。我想要的验证类型b。该字段的数据属性3.输入上的任何输入值否则(键入)将获得值)。 获取值后,此方法将这些值传递给另一个名为 VALIDATING 的方法 2. 确认 方法接受 VALIDATION 方法传递的2个参数(a。定义我们需要的验证类型b。要验证的输入字段的值)。并将这些参数应用于switch语句,并且在每种情况下,我都为每种类型的验证定义了regExp。在使用regExp匹配给定值之后,此方法将一个布尔值返回给First方法,该方法根据布尔值将当前输入字段设置为红色或默认值。

问题: 现在我想知道如何从第一个 METHOD 获取布尔值,以便我可以阻止表单发布。< / p>

var inputValidation = function () {
this.validation = function (param1,param2,param3) {
    var input = $(document).find('[data-input-validation = ' + param2 + ']');
    input.each(function () {
        $(this).on('keyup',function(){
            input.each(function () {
                var value = $(this).val() || param3;
                var validate = new inputValidation();
                var result = validate.validating(param1,value);
                if(result) {
                    $(this).css('border','1px solid rgba(44,44,44,1)');
                }
                else {
                    $(this).css('border','1px solid #EF5350');
                }
            });
        });
    });
};

this.validating = function(param1,param2) {
    switch (param1) {
        case 'phoneNumber':
            var mobileNumber = new RegExp('^[0-9\-\s()+]{3,20}$');
            return mobileNumber.test(param2);
            break;
        case 'email':
            var email = new RegExp(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
            return email.test(param2);
            break;
        case 'username':
            var username = new RegExp(/^[a-zA-Z0-9]+$/);
            return username.test(param2);
            break;
        case 'message':
            var message = new RegExp(/(\/\w+) (\w+) (.+)/);
            return message.test(param2);
            break;
        }
    };
};

var validate = new inputValidation();
validate.validation('phoneNumber','search');

0 个答案:

没有答案