对于输入文本框的每个单词,我想在每个单词之前添加“ - ”,除了“是”和“是”之类的单词。
$('#WhatTextBox').keyup(function() {
var word_check = $('#WhatTextBox').val();
if(!word_check.match('is') OR !word_check.match(' ')) {
$('#special'("-"+$('#WhatTextBox').val());
}
我在这里缺少什么?
答案 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>