添加" - "对于每个单词 - javascript

时间:2014-10-30 06:18:55

标签: javascript

对于输入文本框的每个单词,我想在每个单词之前添加“ - ”,除了“是”和“是”之类的单词。

$('#WhatTextBox').keyup(function() {
        var word_check = $('#WhatTextBox').val();
        if(!word_check.match('is') OR !word_check.match(' ')) {

            $('#special'("-"+$('#WhatTextBox').val());

}

我在这里缺少什么?

3 个答案:

答案 0 :(得分:1)

试试这个: 使用Javascript:

    $(document).ready(function (){
        $('#WhatTextBox').keyup(function() {
            var text = $(this).val();
            text = text.split(" ");
            var newtext = "";
            for(var i=0;i<text.length;i++){
                if (text[i] == 'is' || text[i] == 'was'){
                    newtext = newtext+" "+text[i];
                }else{
                    newtext = newtext+"-"+text[i];
                }
            }
            $("#newtext").text(newtext);
        });             
    });

HTML:

<textarea id='WhatTextBox'></textarea>
<div id='newtext'></div>

或者如果你有一些特殊的话,你可以使用这个javascript:

    $(document).ready(function (){
        var specialwords = ['is','was','am','are'];//special words here
        $('#WhatTextBox').keyup(function() {
            var text = $(this).val();
            text = text.split(" ");
            var newtext = "";
            for(var i=0;i<text.length;i++){
                if (specialwords.indexOf(text[i])!=-1){
                    newtext = newtext+" "+text[i];
                }else{
                    newtext = newtext+"-"+text[i];
                }
            }
            $("#newtext").text(newtext);
        });             
    });

答案 1 :(得分:0)

为什么不使用替换方法?

$('#WhatTextBox').keyup(function() {
        $('#WhatTextBox').val($('#WhatTextBox').val().replace(' ', '-').replace('-is', ' Is').replace('-was', ' was'));
}

答案 2 :(得分:0)

我知道它已经回答了,但我想为什么不这样做。有人可能会喜欢这种方法。

<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<textarea id="WhatTextBox">
</textarea>
<script>

$('#WhatTextBox').keyup(function() {
    var val = ' '+this.value;
    var exempt = ['is', 'was'];
    var value = val.replace(/(\s)([\S]+)/g, function(m, space, word){

        var tmp = word.slice(1, word.length);
        if(exempt.indexOf(tmp) !== -1){
            return space+tmp;
        }else if(exempt.indexOf(word) !== -1 || word[0] === '-'){
            return space+word;
        }

        return space+'-'+word;
    });

    this.value = value.slice(1, value.length);
});
</script>