使用JavaScript对上传文件的文件名做正则校验

使用ckfinder控制在项目中做文件上传时 , 需要对上传文件的文件名做正则校验 , 代码如下:

<td>
    <input id="attachment" name="attachment" type="hidden">
    <sys:ckfinder input="attachment" type="files" uploadPath="/res/oa/issue" selectMultiple="false"/>
td>

显示效果如下:
使用JavaScript对上传文件的文件名做正则校验_第1张图片
通过浏览器的控制台看到代码的层次结构是这样的:
使用JavaScript对上传文件的文件名做正则校验_第2张图片

于是在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;

以上即可实现文件名的校验.

你可能感兴趣的:(java,Web,js,正则,文件名校验,ckfinder上传)