在输入中的第11个逗号后发出警报

时间:2014-12-09 11:08:50

标签: javascript jquery

我想在用户第11次输入逗号(,)时发出警报。我怎么能用jQuery或js做到这一点?

<input class='myprofiletags' name='my_profile_tags' value='<?php echo $my_profile_tags; ?>' placeholder="" />

我在做什么:

jQuery('.myprofiletags').keyup(function()
{
  if( jQuery(this).val().indexOf(',') !== -1 )
  {
      alert('No more text allowed');
  }
}

上面的这个脚本总是会发出警报,即使我在一个逗号后按和字符。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:3)

用逗号分隔,如果超过10则发出警告:

jQuery(this).val().split(',').length > 10

答案 1 :(得分:0)

一个简单的正则表达式将处理这个......

jQuery('.myprofiletags').keypress(function(e)
{
    if (jQuery(this).val().match(/,/g).length > 10)
    {
        e.preventDefault();  // stops the keypress occuring
        alert('No more text allowed');
    }
});

我还将其更改为使用keypress停止进一步输入,因为您的示例代码会提醒用户,但实际上不会阻止他们输入更多文本。

jsfiddle示例......

http://jsfiddle.net/3sah4xsm/