我正在使用此代码在SharePoint列表附件中的文件名中查找空格。
function PreSaveAction() {
var attachment;
var filename = "";
var fileNameSpecialCharacters = new RegExp('\\s', 'g');
try {
attachment = document.getElementById("idAttachmentsTable").getElementsByTagName("span")[0].firstChild;
filename = attachment.data;
} catch (e) {}
if (fileNameSpecialCharacters.test(filename)) {
alert("Please remove the special characters and white spaces from file attachment name.");
return false;
} else {
return true;
}
}
在IE中,它会检查“整个路径”中的空格而不是文件名。在所有其他浏览器中它工作正常,
任何人都可以帮助我让这段代码只检查文件名,而不是整个路径吗?
答案 0 :(得分:2)
从路径名中拆分文件名。然后仅测试文件名。
答案 1 :(得分:1)
根据stema的说法,这将同时检查/
和\
\s(?=[^/\\]*$)
答案 2 :(得分:0)
你可以做这样的事情
\s(?=[^\\]*$)
这意味着找到空格,但前提是在字符串结尾之前没有\
。
但是,当然,只有当分割目录的字符是\
时,这才有效。也许JavaScript能以某种方式从操作系统中获取这个角色(我不知道那个深度的JavaScript)?