Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery Regex对字段的检查有效,但警报消息不';不变_Javascript_Jquery_Regex - Fatal编程技术网

Javascript jQuery Regex对字段的检查有效,但警报消息不';不变

Javascript jQuery Regex对字段的检查有效,但警报消息不';不变,javascript,jquery,regex,Javascript,Jquery,Regex,我使用此功能验证邮政编码(英国): 正如您所看到的,这只是一个简单的正则表达式,用于检查某些点上的字符类型数量 要触发它(或至少在我使用它的部分),我使用: 执行console.log是为了在每次检查时都能看到邮政编码的值,并能看到它的更新。但是,在更改输入时,我知道它应该是错误的,但仍然发出警报(“hi”),而不是无效。我甚至在我的验证函数中添加了一个console.log,它会显示邮政编码何时无效,那么为什么每次单击都不会更改警报消息呢 我用这个来验证我的正则表达式:当我输入不同的邮政编码时

我使用此功能验证邮政编码(英国):

正如您所看到的,这只是一个简单的正则表达式,用于检查某些点上的字符类型数量

要触发它(或至少在我使用它的部分),我使用:

执行console.log是为了在每次检查时都能看到邮政编码的值,并能看到它的更新。但是,在更改输入时,我知道它应该是错误的,但仍然发出警报(“hi”),而不是无效。我甚至在我的验证函数中添加了一个console.log,它会显示邮政编码何时无效,那么为什么每次单击都不会更改警报消息呢

我用这个来验证我的正则表达式:当我输入不同的邮政编码时,它说我的模式是正确的,所以我现在有点迷茫,有什么想法吗


谢谢

好的,所以我很快找到了解决方案-这是因为我的函数在失败之前不会返回值。需要添加一个
返回true在if语句之外


希望这能帮助任何有类似问题的人:)

这也可以做这项工作,因为
.test
返回一个布尔值:
$.fn.validatePostCode=function(postcode){return/^[a-Za-z]{1,2}\d{1,2}\s*\d{1}[a-Za-z]{2}$/i.test postcode}
/* validate Post Code */
$.fn.validatePostCode = function(postcode)
{
    regex = /^[A-Za-z]{1,2}\d{1,2}\s*\d{1}[A-Za-z]{2}$/i;

    if (!regex.test(postcode)) {
        return false;
    }
};
$(document).ready(function()
{
    $('#nextBtn').on('click', function()
    {
        var postcode = $('#postcode').val();
        console.log(postcode);

        if (!$.fn.validatePostCode(postcode)) {
            alert('hi');
        } else {
            alert('not valid');
        }
    });
});