我在Javascript中生成JCR路径;我需要为非法JCR字符转义每个路径项(例如,/:etc ......)。有人知道Java Text.escapeIllegalJcrChars()的Javascript实现吗?
答案 0 :(得分:1)
这应该做同样的事情:
function escapeIllegalChars(name) {
var illegalChars = "%/:[]*|\t\r\n";
var buffer = "";
for (var i = 0; i < name.length; i++) {
var ch = name.charAt(i);
if (illegalChars.indexOf(ch) != -1 ||
(ch == '.' && name.length < 3)||
(ch == ' ' && (i === 0 || i == name.length - 1))) {
buffer += escape(ch);
} else {
buffer += ch;
}
}
return buffer;
}
您可以在以下位置查看JSBin上传递的代码和相关测试: (http://jsbin.com/eciYodo/2/edit?js,output)