我一直在环顾四周,对于如何让我们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是否需要类来识别它的作用是什么?
谢谢
答案 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( ... )
请注意,我没有测试此代码,因此可能需要进行一些调试:)