我正在使用jQuery驗證窗體,我需要顯示帶有最小長度爲1的字母和最大長度爲500的字母的textarea。如何更改maxlength參數來驗證textarea只考慮字母而不考慮空格?
如何更改maxlength參數來驗證textarea只考慮字母而不考慮空格?
感謝
我正在使用jQuery驗證窗體,我需要顯示帶有最小長度爲1的字母和最大長度爲500的字母的textarea。如何更改maxlength參數來驗證textarea只考慮字母而不考慮空格?
如何更改maxlength參數來驗證textarea只考慮字母而不考慮空格?
感謝
$(document).on('keyup','textarea',function(){
var textarea = $(this).val().replace(/ /g,'');
var newLength = textarea.length;
//set to new max length (basically 500 + whitespaces' length)
$(this).attr('maxlength',500 +($(this).val().length - newLength));
});
也試過,但沒有.. – Haryia
您需要創建自己的自定義規則,參見例如:
$.validator.addMethod('customLength', function (value, elm, param) {
//Your Validation rule here
return elm.value.replace(/ /g,'').length <= 500; // return bool
});
$(document).ready(function() {
$("#form").validate({
rules: {
"name": {
required: true,
customLength: true
}
},
messages: {
"name": {
required: "Please, enter a name",
customLength: 'Custom error message!'
}
},
submitHandler: function (form) { // for demo
alert('valid form submitted'); // for demo
return false; // for demo
}
});
});
如果你正在使用你提到jquery-validate
。然後,請添加另一個js
是additional-methods.min.js
其中有一個額外的能力來處理自定義邏輯
HTML頁面
<html>
<head>
<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript" src="/js/jquery-validate.js"></script>
<script type="text/javascript" src="/js/additional-methods.min.js"></script>
</head>
<body>
<form id="formID" name="formID" method="post">
<textarea id="textareaID" name="textareaID" ></textarea>
<input id="submitBtn" type="submit">
</form>
<script>
$(document).ready(function(){
$("#formID").validate({
rules: {
textareaID:{
required:true,
checkLenght:true
}
},
messages: {
textareaID:{
required:'Please enter',
checkLenght:'msg..'
}
}
});
});
$.validator.addMethod("checkLenght", function(value, element){
var count = (value.match(/\d/g) || []).length;
if(count == 0 || count >500)
return false;
else
return true;
/*here is example regex you can write as per you requirement*/
});
</script>
</body>
</html>
爲您進一步refrence:https://jqueryvalidation.org/jQuery.validator.addMethod/
希望我的解釋是對你的作品。
我可以理解,但它不工作 我使用該代碼: $ j('#form-concorso')。validate({ textareaID:{ required:true, checkLenght:真 } }, 消息:{ textareaID:{ 必需的: '請輸入', checkLenght: 'MSG ..' } } }); 和 $ .validator.addMethod( 「checkLenght」,函數(值,元素){ 返回elm.value.replace(/ /g,'').length <= 500; }); – Haryia
你能分享你的代碼嗎? – CHiRAG
代碼太長,所以我創建了一個jsfiddle: http://jsfiddle.net/haryia/rc8fka3h/ 謝謝! – Haryia
如果你想阻止* X *字母后的用戶,你應該使用'keydown'而不是'keyup'提出的答案 – Weedoze
你需要創建自己的自定義規則 –