我在以下条件下验证文本框值
至少应为 3 个字符
它应该只包含字母
它应该至少包含一个元音
如果所有条件都匹配,我将启用提交按钮。如果上述任何一种情况不匹配,我将向名为错误的 div 设置错误消息。
这是我的代码
$document.ready(function(){
$('.tbox').focus(); // cursor in text box
$(':submit').attr("disabled",true); // disable generate button
$('.tbox').focus(fucntion(){
check_the_input()
});
});
function check_the_input()
{
var value = $(this).val();
$('.tbox').bind('keyup blur',function(){
$(this).val( $(this).val().replace(/[^a-z]/g,'') ); }
if(value.length > 3)
{
if(value.indexOf('a') == -1 && value.indexOf('e') == -1 && value.indexOf('i') == -1 && value.indexOf('o') == -1 && value.indexOf('u') == -1)
{
$('#error').text("*Input must contain atleast one vowel");
$(':submit').attr("disabled",true);
}
else
{
$(':submit').attr("disabled",false);
}
}
else
{
$('#error').text("*Input should be atleast 3 characters")
$(':submit').attr("disabled",true);
}
setTimeout(check_the_input,100);
}
我在这里面临以下问题:
如果我输入 input 作为 aa99 输入更改为 aa ,但仍然启用生成的按钮。
我在输入文本时没有收到错误消息。只有在文本框外按 Tab 或单击鼠标后,我才会收到错误消息。