我在页面上有一个简单的文本区域。单击“提交”时,它会获取文本区域的值并将其存储到数据库中。
<input type="text" class="form-control" id="theField" placeholder="Enter Data">
当用户在字段中输入以下内容时,它可以很好地存储:"this is a test" item's
但是,如果他们将其输入到Microsoft Word中,然后将其粘贴到字段中,则结果为:“This is a test†for item’s
我所做的就是获得如下价值:var nominee = $('#theField').val()
处理这种情况的最佳方法是什么?
答案 0 :(得分:0)
我不是百分百肯定这会起作用,但类似的事情可能就是你所能做的:
var ldquo = new RegExp(String.fromCharCode(226, 8364, 339), "g"),
rsquo = new RegExp(String.fromCharCode(226, 8364, 8482), "g"),
rdquo = new RegExp(String.fromCharCode(226, 8364), "g");
var clean = $("#theField").val()
.replace(ldquo, '"')
.replace(rsquo, "'")
.replace(rdquo, '"');
您需要另外弄清楚左侧单个“智能”报价的样子。当然上面的模式可能不正确;整个事情是两个字符编码之间发生碰撞的结果。