2013-03-22 106 views
0

需要驗證文本框的值,並拋出錯誤,如果它包含字母,特殊字符或數字小於20jQuery的驗證特殊字符的

代碼:

<input type="text" class="input-text-bx" id="actual" value=""> 
      <input type="submit" id="real" value="submit"/> 

我有試過jquery 1.3沒有點擊提交按鈕。我需要提交最新的$。

Query(function(){ 

      jQuery('.input-text-bx').validate({ 
       expression: "if (VAL) return true; else return false;", 
       message: "Please enter a valid number" 
      }); 
     jQuery('.input-text-bx').validate({ 
       expression: "if (VAL.match(/^[0-9]*$/)) return true; else return false;", 
       message: "Actual card can only be in numbers" 
      }); 
      jQuery('.input-text-bx').validate({ 
       expression: "if ((VAL.length >=16))return true; else return false;", 
       message: "The card number should be 16-20 digits" 
      }); 
});  
+0

(你有沒有試過? – Lemurr 2013-03-22 02:47:36

+0

添加了我試過的 – user2194155 2013-03-22 02:55:02

+0

驗證何時?在表單上提交,模糊或...? 「拋出錯誤」是什麼意思?如果你明確說明什麼會被認爲是有效的,這可能會更清楚。 「小於20的數字」開放給幾種解釋。 – nnnnnn 2013-03-22 02:58:45

回答

0

可以使用onblur事件上的投入

jQuery('.input-text-bx').bind('onblur', function(){ // Validation Here }); 

,並在功能做你檢查的長度(> 16 & < 20)。您也可以匹配RegEx。

0

代碼中的.validate()(和標記)表示您嘗試使用the jQuery Validate plugin。否則,在沒有它的情況下,jQuery中不存在.validate()這樣的東西。

<input type="text" class="input-text-bx" id="actual" value=""> 

jQuery('.input-text-bx').validate({ 
    expression: "if (VAL) return true; else return false;", 
    message: "Please enter a valid number" 
}); 

1)您絕對不能附加.validate()比一個<form></form>元素之外的任何元素。沒有解決方法。 2)沒有選項expression。如果您需要編寫自定義方法或規則,則必須使用the plugin's built-in addMethod method


嘗試使用像這樣的插件。 (所有input元素必須有name屬性爲這個插件才能正常工作)

HTML

<form id="myform"> 
    <input type="text" class="input-text-bx" name="actual" id="actual" /> 
    <input type="submit" /> 
</form> 

jQuery的

$(document).ready(function() { 

    $('#myform').validate({ // initialize the plugin 
     rules: { 
      actual: { 
       required: true,  // required field 
       number: true,   // must be a number 
       rangelength: [16, 20] // must be between 16 and 20 digits 
      } 
     } 
    }); 

}); 

DEMO:http://jsfiddle.net/NvREa/

文檔:http://docs.jquery.com/Plugins/Validation

+0

我需要使用什麼驗證插件來實現它?如何檢查特殊字符? – user2194155 2013-03-22 03:23:36

+0

@ user2194155,你用「jQuery Validate」插件標記了問題,你試圖使用'.validate()',所以我認爲你已經安裝了它。按照我的答案中的示例和文檔。同樣在這裏:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ – Sparky 2013-03-22 03:25:09