Javascript 如何正确地将双引号添加到文本区域
我需要一个textarea在textarea值的开始和结束处包含一组双引号。下面的代码将双引号添加到字段的开头和结尾,但如果用户输入文本然后返回到字段,则可以添加多个双引号集。我怎样才能防止这种情况?jQuery解决方案也是可以接受的Javascript 如何正确地将双引号添加到文本区域,javascript,jquery,Javascript,Jquery,我需要一个textarea在textarea值的开始和结束处包含一组双引号。下面的代码将双引号添加到字段的开头和结尾,但如果用户输入文本然后返回到字段,则可以添加多个双引号集。我怎样才能防止这种情况?jQuery解决方案也是可以接受的 <textarea name="quoteName" id="quoteName" style="width:100%" rows="4" onChange="quotes();" autofocus></textarea> functi
<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,”)代码>之前,但如果有人想在其值中加引号呢?如果您需要服务器端或其他地方的报价,为什么不直接添加到那里呢?