我使用简单的javascript来代替以下内容:
但是当我尝试更换问号时,它不起作用,即使所有的东西都没有替换,如果我使用'?'在我的字符串中。
这是JSfiddle的工作http://jsfiddle.net/2w5oLcpz/ ... //没有?用字符串标记
没有使用jsfiddle示例http://jsfiddle.net/b05y0f5q/ .... //使用?在字符串
这里是代码示例://无法正常工作
<!DOCTYPE html>
<script type="text/javascript">
function myFunction() {
var a0 = ".,!,<,>,?";
var a = a0.split(','); //+ a000.split(',');
var b0 = "Dot,exclMark,LessThan,GreatThan,Qmark"
var b = b0.split(','); //+ b000.split(',');
var str = document.getElementById("textBox1").value;
for (var k = 0; k < a.length; k++) {
str = str.replace(new RegExp(a[k].replace(/\./g, '\\.'),"g"), b[k]);
};
document.getElementById('textBox2').value = str;
}
</script>
<body >
<textarea onkeyup="myFunction(); " id="textBox1" placeholder="Type Here" ></textarea>
<TEXTAREA type="text" id="textBox2" ></TEXTAREA>
</body>
请用js回答,我不熟悉Jquery。
答案 0 :(得分:1)
参考此Fiddle
您需要使用\\?
代替?
。
<!DOCTYPE html>
<script type="text/javascript">
function myFunction() {
var a0 = ".,!,<,>,\\?";
var a = a0.split(','); //+ a000.split(',');
var b0 = "Dot,exclMark,LessThan,GreatThan,Qmark"
var b = b0.split(','); //+ b000.split(',');
var str = document.getElementById("textBox1").value;
for (var k = 0; k < a.length; k++) {
str = str.replace(new RegExp(a[k].replace(/\./g, '\\.'),"g"), b[k]);
};
document.getElementById('textBox2').value = str;
}
</script>
<body >
<textarea onkeyup="myFunction(); " id="textBox1" placeholder="Type Here" ></textarea>
<TEXTAREA type="text" id="textBox2" ></TEXTAREA>
</body>
&#13;
答案 1 :(得分:1)
纳库尔, 有关正常工作的版本,请参阅此fiddle。你没有逃脱?这是正则表达式中的特殊字符。这是通过在\前加上来完成的。所以应该是\?代替 ?在你的字符串中。这是您上传的代码的工作版本。
<!DOCTYPE html>
<script type="text/javascript">
function myFunction() {
var a0 = ".,!,<,>,?";
var a = a0.split(','); //+ a000.split(',');
var b0 = "Dot,exclMark,LessThan,GreatThan,Qmark"
var b = b0.split(','); //+ b000.split(',');
var str = document.getElementById("textBox1").value;
for (var k = 0; k < a.length; k++) {
str = str.replace(new RegExp(a[k].replace(/\./g, '\\.'),"g"), b[k]);
};
document.getElementById('textBox2').value = str;
}
</script>
<body >
<textarea onkeyup="myFunction(); " id="textBox1" placeholder="Type Here" ></textarea>
<TEXTAREA type="text" id="textBox2" ></TEXTAREA>
</body>
&#13;