2012-09-15 56 views
-1

堆棧溢出的幫助下,我得到了文本框驗證的條件文本框驗證與jQuery,拒絕數字

  1. 它必須至少含有一個3個字符

  2. 它必須至少含有一個一個下面的代碼元音

  3. 它必須只包含字母

  4. 提交按鈕必須啓用只有當以上3個condtions滿足

    var $input = $('#myinput'); 
    var $error = $('.error'); 
    var $submit = $('#submit'); 
    var Filters = { 
        min: { 
         re: /.{3,}/, 
         error: 'Must be at least 3 characters.' 
        }, 
        char: { 
         re: /[a-z]/i, 
         error: 'Must be only letters.' 
        }, 
        vowel: { 
         re: /[aeiou]/i, 
         error: 'Must have at least one vowel.' 
        } 
    }; 
    
        function test(value, filters) { 
         var isValid = false; 
         for (var i in filters) { 
          isValid = filters[i].re.test(value); 
          $error.hide(); 
          $submit.show(); 
          if (!isValid) { 
           $error.show().text(filters[i].error); 
           $submit.hide(); 
           break; 
          } 
         } 
         return isValid; 
        } 
    
        $input.on('keyup blur', function() { 
         test(this.value, Filters); 
        }); 
    

但儘管如此,它是接受數..考慮輸入是AA99。其啓用按鈕。

回答

1

由於您已爲問題用JavaScript

這裏是一個純JavaScript的解決方案,這可能會幫助你。

<input type="text" id="inputBox" onkeyup="CheckMe(this);" /> 
<input type="button" id="btn" disabled="disabled" /> 

<script type="text/javascript" language="javascript"> 
    var vowels = ['a', 'e', 'i', 'o', 'u']; 
    function CheckMe(sender) { 
     if (sender.value.length < 3) { 
      document.getElementById('btn').disabled = true; 
      return; 
     } 
     for (i = 0; i < sender.value.length; i++) { 
      if (!isNaN(sender.value[i]) || vowels.indexOf(sender.value[i]) < 0) { 
       document.getElementById('btn').disabled = true; 
       return; 
      } 
     } 
     document.getElementById('btn').disabled = false; 
    } 
</script>