需要限制在文本框中输入的逗号(,)

Need to limit the comma(,) entered in textbox

我需要限制在文本区域中输入的逗号数量

我尝试了这些链接,但没有帮助

Limit the number of commas in a TextBox

我正在使用 php。是否可以在此处实现 php 或 javascript。

HTML:

<textarea id="textarea" rows="20"></textarea>

JavaScript:

var textarea = document.getElementById('textarea');
var maxCommas = 5;

var filterCommas = function(event) {
    var textCommas = this.value.match(/[,]/g);
  if(textCommas.length >= maxCommas && event.key === ',') {
    event.preventDefault();
    return false;
  } 
}

textarea.onkeydown = filterCommas;
textarea.onkeypress = filterCommas;
textarea.onchange = filterCommas;`

https://jsfiddle.net/xL04qb8c/2/

您应该等待 DOMContentLoaded 事件,然后将文本区域与 "input" 事件的回调绑定:

const MAX_COMMAS = 3;
document.addEventListener("DOMContentLoaded", function(event) {
    let textarea = document.getElementById('textbox');

    textarea.addEventListener("input", function(event) {
        let matchCommas = this.value.match(/,/g);

        if (Array.isArray(matchCommas) && matchCommas.length > MAX_COMMAS) {
            this.value = this.value.substring(0, this.value.length - 1); // remove the last comma
            alert("MAX COMMAS EXCEEDED!");
        }
    });
});
<textarea id="textbox" cols="40" rows="4"></textarea>