使用onBlur事件验证zip和显示错误

时间:2010-06-11 07:16:47

标签: jquery

检查zip是否是5位数字,否则显示'zip is invalid'。我想使用onBlur事件来触发显示。但它不起作用。

<script>
$(function(){

function valid_zip()
  {
  var pat=/^[0-9]{5}$/;
  if ( !pat.test(   $('#zip').val()   ) )
     {$('#zip').after('<p>zip is invalid</p>');}
  }

})
</script>

zip (US only) <input type="text" name='zip' id='zip' maxlength="5" onblur="valid_zip()">

3 个答案:

答案 0 :(得分:2)

$('#zip').blur(function()
  {
  var pat=/^[0-9]{5}$/;
  if ( !pat.test(   $(this).val()   ) )
     {$(this).after('<p>zip is invalid</p>');}

})

你现在正在使用jQuery,不要进行内联编码......

<input type="text" name='zip' id='zip' maxlength="5" onBlur="valid_zip()">

应该只是

<input type="text" name='zip' id='zip' maxlength="5">

答案 1 :(得分:1)

看起来应该更像这样:

<script>
        $(function(){

                $("#zip").blur(function() {
                        var pat=/^[0-9]{5}$/;
                        if ( !pat.test( $('#zip').val() ) )
                            $('#zip').after('<p>zip is invalid</p>');
                });
        });
    </script>

    zip (US only) <input type="text" name='zip' id='zip' maxlength="5">

答案 2 :(得分:0)

onblur应全部小写。

<input type="text" name="zip" id="zip" maxlength="5" onblur="valid_zip()">

另外,为什么将valid_zip放在$()内 - 您可以这样做:

<script>
  function valid_zip()
  {
    var pat=/^[0-9]{5}$/;
    if ( !pat.test(   $('#zip').val()   ) )
    {
      $('#zip').after('<p>zip is invalid</p>');
    }
  }
</script>
相关问题