在文本区域的每个单词前插入字符



在文本区每个单词前插入字符仅使用jquery,在文本区输入的每个单词之前插入字符"#"。问题是第一个单词只插入了#。我所做的休息demo at: http://jsfiddle.net/LKUbr/11/

  <textarea name='name' id='name'></textarea>
<input type='button' value='Sign Up' id='signUp' onclick="count()"/> 
  function count(){  
 var words = $('textarea').val().split(' ');
    words='#'+words;
alert(words);//or return words.length;
}

我不知道你到底想要什么,但是

    $("#event_content").keyup(function(e,v){
    var text = $(this).val();
    return $(this).val(text.replace(" ", "#"));
   });

它将返回abc#sd#sd每个空格将被替换为#

http://jsfiddle.net/jrx5Z/49/

您可以在完成代码后添加空格。否则它们会继续相乘。正则表达式可用于解决此问题。

$("#event_content").keyup(function () {
    var text = $(this).val();
    if(text.charAt(0) !== '#')
        text = '#' + text;
    text = text.replace(/( )+(#)*( )*/g, " #");
    return $(this).val(text);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<textarea id="event_content" cols="60" rows="20"></textarea>

最新更新