我将一些数据从js文件传递给处理程序,而处理程序又从SP获取结果。我有一个像ID = abc [123]的参数。但我必须只将123作为值传递给ID到SP。 这就是我在js中声明参数的方式
var parameters = JSON.stringify({
"ID": JSON.stringify(EditedID).replace(/]|[[]/g, '')
});
但我收到的错误就像无效ID一样 请帮助
答案 0 :(得分:0)
目前,您正在用空格替换正则表达式,因此它将返回结果' abc123'。你真正需要的是将字符串放在括号内。您可以使用以下代码来执行此操作。
var EditedID = "abc[123]"
var regex = /\[([^\[\]]*)\]/
var result = ""
match = JSON.stringify(EditedID).match(regex)
if (match != null) {
result = match[1]
}
"结果=匹配[1]"意味着它会将括号内的值赋给结果。如果您想要两个括号的值,请使用match [0]。
我假设您的EditedID是一个对象,不知何故它需要方法" JSON.stringify"使它成为String。如果您的EditedID已经是String,只需替换匹配值以使其更简单
match = EditedID.match(regex)
如果不匹配,代码将不会遇到if条件,因此result的值只是一个空字符串。