使用Jquery仅允许某些字符,并显示错误消息

时间:2014-08-13 02:20:40

标签: javascript jquery

我一直在环顾四周,对于如何让我们jQuery只允许输入某些字符而感到有点困惑,如果输入了无效字符,那么我想留言说对不起,只有“等等等等等等等等等等等等。允许“。

我有一半,只允许输入字段中的某些字符,

<p><label>First Name: <input type="text" name="First"  size="20" maxlength= "40" class="First"  /></label></p>

所以对于我的jquery我有

  <script type="text/javascript">
$('.First').bind('keyup blur',function(){ 
    $(this).val( $(this).val().replace(/[^A-Za-z]/g,'') ); }
);

    </script>

然而,如果我输入一个数字,我想要弹出来解释只允许字母。我环顾四周,但老实说,我是jquery的新手,我不知道该怎么做。

我想知道另一件事,如果我没有class="First"并且在输入部分只有name="First",我将如何使用jQuery引用它?如果我摆脱class="First"然后它不起作用,jQuery是否需要类来识别它的作用是什么?

谢谢

1 个答案:

答案 0 :(得分:1)

on blur是可行的方法,您可以使用RegExp查找并测试字符串,以查看其中是否包含任何非法字符。

<script type="text/javascript">

    $('.First').bind('keyup blur',function(){
        //Illegal character regex
        var regIllegal = /[0-9]/
        if(regIllegal.test($(this).val())){
            alert('Only letters allowed!');
        }
        $(this).val( $(this).val().replace(/[^A-Za-z]/g,'') ); }
    );
</script>

对于问题的第二部分,您可以选择没有类的输入,但需要将其修改为css选择器,如下所示:

$('input[name="First"]').bind( ... )

请注意,我没有测试此代码,因此可能需要进行一些调试:)