使用ckfinder控制在項目中做文件上傳時 , 需要對上傳文件的文件名做正則校驗 , 代碼如下:
<td>
<input id="attachment" name="attachment" type="hidden">
<sys:ckfinder input="attachment" type="files" uploadPath="/res/oa/issue" selectMultiple="false"/>
</td>
顯示效果如下:
通過瀏覽器的控制檯看到代碼的層次結構是這樣的:
於是在jsp頁面上添加如下js進行驗證:
//驗證上傳文件的文件名是否合法
var $list = $("ol[id^='attachment']>li>a:first-child");
$list.each(function (index, item) {
var fileName = item.innerHTML.trim();
var reg = new RegExp('[\\\\/:*?\"<>|]');
if (reg.test(fileName)) {
flag = false;
message = "上傳的文件名不能包含【\\\\/:*?\"<>|】這些非法字符,請修改後重新上傳!";
return flag;
}
})
if(!flag) return false;
以上即可實現文件名的校驗.