javascript验证zip正则表达式

时间:2010-06-11 05:31:27

标签: javascript jquery

谢谢你们。我接受你的建议并修改脚本如下。现在看起来很有效。

<script src="jquery-1.4.2.min.js" type="text/javascript"></script>   
<script>
$(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">

3 个答案:

答案 0 :(得分:2)

.val需要.val()
并使用.after().before()而非.append()

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

答案 1 :(得分:0)

zip无效应该用引号括起来

和.val需要是.val()

<script>
  pattern=/^[0-9]{5}$/;
  if (!pattern.test( $('#zip').val() ) ) 
  {
    $('#zip').val($('<p>',{html: "zip is invalid"}));
  }
</script>

答案 2 :(得分:0)

将它放在一边,这样你就可以看出它出了什么问题......

pattern=/^[0-9]{5}$/;
if (
   !pattern.test(   $('#zip').val()  ) 
)
{
    $('#zip').after(
         $('<p>',{html: "zip is invalid"})
    );
}

val()和“zip有效”。此外,var除非在函数范围内,否则无用。

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

现在pattern仅对该函数是本地的,而不是其他任何东西。在CMS的例子中,它仍然是一个全球性的,除非你拿着片段并在实际功能中使用它。