大家好,我有短问题,我在jquery中用字符串替换编写了测试代码。它工作,但我需要调整它来找到给定字符串中的字符x什么工作,但当我更改var res = value.replace(value,“Y”)时它不想与Y字母交换; to var res = myX.replace(myX,“Y”);即如果我将'max'字符串放入文本框输入中,我想在这种情况下仅用字母Y替换x。有谁知道如何改变它? 感谢您的关注和帮助:))
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<meta name="viewport" content="width=device-width" />
<title>test</title>
</head>
<body>
<div>
pls provide here your function
<input type="button" value="Replace" id="lineFunctionClick"/>
<input type="text" id="myInput">
</div>
<script>
$("#lineFunctionClick").on("click", function () {
var value = $("#myInput").val();
var myX = value.indexOf('x');
if (myX >= 0)
{
var res = value.replace(value, "Y");
alert("changed" + " " + value + " " + "to" + " " + res);
} else
{
alert("value doesnt exist");
}
});
</script>
</body>
</html>
答案 0 :(得分:1)
因为你试图替换索引位置而不是'x'。 myX包含搜索字符串的位置。以下更改将解决问题。
替换
var res = value.replace(value, "Y");
带
var res = value.replace('x', "Y");
答案 1 :(得分:0)
您可以使用正则表达式来执行此操作:
(function(){
var regex = /x/gi;
var str1 = "max";
var str2 = "Xmas";
var str3 = "XXXxxxxxXxxx";
console.log(str1.replace(regex, 'y'));
console.log(str2.replace(regex, 'y'));
console.log(str3.replace(regex, 'y'));
})()