Php 如何防止用户使用jQuery在maxlength处输入值
我希望用户不能输入文本,如果他在输入框中有超过5个逗号分隔的值 我已达到该值,但不确定。我认为Php 如何防止用户使用jQuery在maxlength处输入值,php,jquery,html,maxlength,disabled-input,Php,Jquery,Html,Maxlength,Disabled Input,我希望用户不能输入文本,如果他在输入框中有超过5个逗号分隔的值 我已达到该值,但不确定。我认为maxlengthdynamic应该可以做到这一点 我试图应用下面的代码,但不工作- require(["jquery"],function($) { $("input.toEmail").keyup(function(e){ var inputEmail = $("input.toEmail").val(); var count = (inputEmail.ma
maxlength
dynamic应该可以做到这一点
我试图应用下面的代码,但不工作-
require(["jquery"],function($) {
$("input.toEmail").keyup(function(e){
var inputEmail = $("input.toEmail").val();
var count = (inputEmail.match(/,/g) || []).length;
if(count >= 5){
e.preventDefault();
e.stopPropagation();
}
});
});
这不是经过测试的代码,但您可能会明白这一点。基本上,如果达到限制,您可以将输入内容设置回以前的状态
...
var inputEmail = $("input.toEmail").val();
var inputLength = inputEmail.length;
...
if (count >= 5) {
$("input.toEmail").val(inputEmail.substring(0, inputLength - 1); // write back the previous content
}
您应该使用而不是keyup
$("input.toEmail").keypress(function(e) {
var inputEmail = $("input.toEmail").val();
var count = (inputEmail.match(/,/g) || []).length;
if (count >= 5) {
e.preventDefault();
e.stopPropagation();
}
});
你可以用这种简单的方法来实现它 注:
- 用于
“将字符串拆分为子字符串数组”
- 用于
“提取字符串的部分并以新字符串的形式返回提取的部分”
- 用于
“将数组作为字符串返回”
$(“input.toEmail”).keyup(函数(e){
var inputEmail=$(this.val();
var strArray=inputEmail.split(/,/g);
如果(strArray.length>=5){
this.value=strArray.slice(0,5).join(',');
}
});代码>
据我所知,您希望限制为6个逗号限制值,因此它将包括5个逗号。我在这里做的是,你可以替换最后(第6)个逗号
因此,它将只允许6个值
$(函数(){
$(“input.toEmail”).keyup(函数(e){
var length_逗号=($(this.val().match(/,/g)| |[]).length)
如果(长度_逗号>=6){
this.value=this.value.replace(/,\s*$/,“”);
e、 预防默认值();
}
});
});代码>
根据您的验证,此测试是否有效?这里只有5个逗号。你会允许空间吗?@MayankPatel不用担心,我会亲自检查空间的东西,以及这段代码是如何考虑OP想要的逗号的?@mitkosoft我认为OP已经解决了逗号的问题。这就是为什么我刚刚发布了最新的内容,并省略了他的工作代码。这就是…
占位符的原因。此代码有效,但如果有人复制粘贴,则不起作用。请注意,当您按住逗号的键盘按钮时,代码不起作用。谢谢您的回复。同样,如果有人按ctrl+V组合键,如jhgsd、f、sdf、sdf、SDFSDFSFS,则此操作有效,但不起作用。您可以通过ctrl+Vjhgsd、f、sdf、sdf、SDFSDFSFS、
进行测试。结果将是jhgsd,f,sdf,sdf,sdfsdfsds
。所以对我来说效果很好。好吧,这很奇怪。代码在这里运行良好。你是对的,但是当我把它粘贴到我的代码中时,当我粘贴新的字符串时,我得到了以下错误-ReferenceError:strArray不是definedIt,只是一个语法错误。您应该首先声明strArray
变量。