Javascript 如何正确地将双引号添加到文本区域

Javascript 如何正确地将双引号添加到文本区域,javascript,jquery,Javascript,Jquery,我需要一个textarea在textarea值的开始和结束处包含一组双引号。下面的代码将双引号添加到字段的开头和结尾,但如果用户输入文本然后返回到字段,则可以添加多个双引号集。我怎样才能防止这种情况?jQuery解决方案也是可以接受的 <textarea name="quoteName" id="quoteName" style="width:100%" rows="4" onChange="quotes();" autofocus></textarea> functi

我需要一个textarea在textarea值的开始和结束处包含一组双引号。下面的代码将双引号添加到字段的开头和结尾,但如果用户输入文本然后返回到字段,则可以添加多个双引号集。我怎样才能防止这种情况?jQuery解决方案也是可以接受的

<textarea name="quoteName" id="quoteName" style="width:100%" rows="4" onChange="quotes();" autofocus></textarea>

function quotes(){
  var quoteValueBefore = document.getElementById("quoteName").value;
  var ensureQuotes = "\"" + quoteValueBefore + "\"";
  document.getElementById("quoteName").value = ensureQuotes;
}

函数引号(){
var quoteValueBefore=document.getElementById(“quoteName”).value;
var encurequotes=“\”+quoteValueBefore+“\”;
document.getElementById(“quoteName”).value=ensureQuotes;
}

检查文本是否以引号开头,是否以引号结尾。如果缺少其中一个,请添加它

还要检查长度>=2,否则
将通过测试(以引号?检查结束。以引号?检查开始。)

函数引号(){
var quoteValue=document.getElementById(“quoteName”).value;
如果(!quoteValue.match(/^”/))
quoteValue='“'+quoteValue;
如果(!quoteValue.match(/“$/))
quoteValue+='“';
如果(quoteValue.length<2)
quoteValue+='“';
document.getElementById(“quoteName”).value=quoteValue;
}
函数checkQuotes(id){
str=document.getElementById(id).value;
如果(str[0]!=“”){
str=“”。concat(str);
}
如果(str[str.length-1]!=“”){
str=str.concat(“”)
}
返回str
}
函数引号(){
withQuotes=checkQuotes(“quoteName”);
document.getElementById(“quoteName”).value=withQuotes
}

测试引号功能
为什么需要引号?我个人认为在服务器端应用这一点会更容易。无论哪种方式,您都可以检查quoteName的第一个字符和最后一个字符,如果它等于一个引号,则不必预加/追加它。谢谢您,Paul!如果我点击文本框并进行类型测试,它会在离开字段时成功添加双引号,如果我在第二次测试后返回字段并进行类型测试,它不会删除中间的双引号集。我怎样才能防止呢?再次感谢。示例:“test”test“您始终可以执行
quoteValue.replace(/“/g,”)之前,但如果有人想在其值中加引号呢?如果您需要服务器端或其他地方的报价,为什么不直接添加到那里呢?