如何使用jquery计算字符串中字符的出现次数

Aij*_*han 4 asp.net jquery

我有一个文本框,我想计算'.'的出现次数.

如果文本框已经有'.' 那么用户不能输入'.' 来自他的主板

这是我的代码:

 $('.txt').keyup(function() {
            var ele = $(this).val();
            var contains = (ele.indexOf('.') > -1);
            if (contains) {
                var count = $(this).val().match(/./g);
                if (count > 1) {                    
                    var cont = $(this).val();
                    var str = $(this).val().length;

                    $(this).val(cont.substring(0, str));
                }                   
            }

        });
Run Code Online (Sandbox Code Playgroud)

$(this).val().match(/./ g) 给出了'.'出现的索引.但我想计算它的出现次数.

Ans*_*tia 7

您可以使用以下代码查找字符"."的时间.发生在一个字符串中.

    var regex = new RegExp(/\./g)
    var count = "This is some text .".match(regex).length;
Run Code Online (Sandbox Code Playgroud)


moh*_*han 3

您的正则表达式需要更改。“。” 正则表达式意味着一切。您需要转义“.”。大概是这样的...

$(this).val().match(/\./g);
Run Code Online (Sandbox Code Playgroud)