特殊字符-如何在Javascript中用两个黑斜杠替换反斜杠
special characters - How to replace backslash with two blackslashes in Javascript
我有一个如下格式的字符串
var myStrg = "domain'john";
我需要用两个''
字符替换'
作为domain''john
。
我怎样才能做到这一点?
我已经问了很多类似的问题和答案,但没有一个人能回答这个问题。
如有任何建议,不胜感激。
编辑01:
为了使这个问题更清楚,我在代码中添加了更多的背景信息。如您所见,username
是一个参数。它的格式类似于'domain_name'user_name'
。因此,当我将此username
附加到URL时,问题发生了。并且我无法控制接收值作为用户名。
function myFunction(username) {
var fullurl = "http://myserver/mysite/_api/web/lists/getbytitle('MyTestList')/items?$select=ID&$filter=Username eq '" + username + "'";
NWF$.ajax({
url: fullurl,
method: "GET",
async: false,
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
//process returned data here
},
error: function (data) {
alert('Error occurred.');
}
});
}
根据转义序列,''
表示单个'(backslash)
console.log("domain''''john");
如果您要求将单反斜杠替换为双反斜杠,
console.log("domain''john".replace(/''/g, ''''''));
问题是使用这个声明
var myStrg = "domain'john";
Javascript将存储"domainjohn",因为"'j"被认为是"j"。要用"'"来存储它,使用如下命令:
var myStrg = "domain''john";
如果你想要双引号"'"使用这个:
var myStrg = "domain''''john";
如果你想用正则表达式以编程方式替换单个"'",使用:
var myStrg = "domain''john";
myStrg.replace(/''/g,"''''")
EDIT 01 RESPONSE
在你编辑之后,我想也许你要找的是这个:
encodeURIComponent(username)
这将把"domain''john"
转换成"domain%5Cjohn"
,这是url参数的可接受格式。
"''"
myFunction("domain''john");
您可以在replace方法中使用regex。下面的代码没有经过测试,但是正则表达式应该可以工作。
var myStrg = "domain'john";
myStrg = myStrg.replace(/''/g, '''''');
相关文章:
- 填写表单后替换两个变量
- 如何在javascript中使用string.replace.将匹配字符串开头的两个不同表达式替换为null
- 使用 JavaScript 中的正则表达式替换大文本中两个字符之间的每个出现的字符串
- Regex表达式,用于替换两个字符(包括字符)之间的字符串
- 可以用两个搜索值替换JavaScript.replacement函数
- 是否有任何功能可以合并两个JSON数据集并替换旧信息?(节点.JS)
- 匹配单词中两个相等的字符,并替换为一个RE
- jquery两个替换函数
- 替换两个字符串之间的多行文本
- 将两个 BR 替换为单个 JQuQuestion
- 在 javascript 中替换 URL 中的两个元素
- JavaScript 检查并替换两个字符串
- 如果两个值都会动态变化,则用变量替换某个字符串的一部分 - Javascript
- 如何在 javascript 中替换两个声明字符之间的字符串
- JavaScript - 将两个字符相互替换
- 使用两个或多个按钮在单个DIV中显示/隐藏和替换文本
- 如何在 JavaScript 中替换字符串的前两个字符
- 替换/删除两个字符之间的所有内容
- 如何在 JavaScript 中替换字符串中最后一个出现的两个字符之间的字符
- 在一个字符串中用括号替换两个单独的正则表达式