在jquery验证中,输入字段必须只接受最多5个逗号

时间:2015-07-18 13:05:35

标签: javascript jquery validation

jquery中是否有任何验证只接受5个逗号,但我可以在输入字段中使用任意数量的其他字母,或者它显示内联错误为"只允许使用5个逗号"在submit.please任何人给我一个解决方案,我正在寻找这一整天。谢谢你

4 个答案:

答案 0 :(得分:2)

使用jQuery Validation Plugin,这是创建自定义规则以检查逗号的方法:

<强> JS:

$.validator.addMethod("comma-rule", function(value){
    var n = value.split(",").length - 1;
    return (n <= 5);
}, "Only 5 commas allowed");

$("form").validate({
    rules: {
        "commas-input": "comma-rule"
    }
});

<强> HTML:

<form>
    <input type='text' name='commas-input' />
</form>

<强>演示:

http://jsfiddle.net/alan0xd7/5RrGa/1473/

答案 1 :(得分:1)

您可以在逗号上使用split()并验证返回的数组长度不超过6。

我说6因为5个逗号会给你一个6项数组。

答案 2 :(得分:1)

&#13;
&#13;
function validStr (str) {
	var exit = 0;
	for (var i = 0; i < str.length ; i++) {
		if(str.charAt(i) == ",")
			exit++;
	};
	if (exit > 5){
		return false;
	}else{
		return true;
	}
}
&#13;
&#13;
&#13;

试试这个

答案 3 :(得分:1)

尝试使用input事件,String.prototype.match()

&#13;
&#13;
var input = document.querySelector("input[type=text]")
, label = document.querySelector("[for=input]")
, lim = function lim(e) {
  label.textContent = "";
  if (e.target.value.match(/,/g).length > 5) {        
      e.target.value = e.target.value.replace(/,$/, "");
      label.textContent = "only 5 commas allowed";
  };
};
input.oninput = lim;
&#13;
<input type="text" id="input" />
<label for="input"></label>
&#13;
&#13;
&#13;