Javascript中的文件验证

时间:2013-12-19 18:17:28

标签: javascript html regex

我们正在开发电子邮件加密服务。在这里,我设计了一个html页面(用户注册),我提供了一个区域,用于上传文件,其中包含 .crt,.cer .der

这是HTML内容:

<section>
    <label class="label">PubLic Key File</label>
<div> 
    <input type="file" id="fileInput">
</div>
    <div id="fileDisplayArea"></div>
</section>
<button type="submit" class="button">Submit</button>

Javascript代码是:

window.onload = function() {

    var fileInput = document.getElementById('fileInput');
    var fileDisplayArea = document.getElementById('fileDisplayArea');


    fileInput.addEventListener('change', function(e) {
        var file = fileInput.files[0];
        var imageType = /image.*/

        if (file.type.match(imageType)) {
            var reader = new FileReader();

            reader.onload = function(e) {
                fileDisplayArea.innerHTML = "";

                var img = new Image();
                img.src = reader.result;

                fileDisplayArea.appendChild(img);
            }

            reader.readAsDataURL(file); 
        } else {
            fileDisplayArea.innerHTML = "File not supported!";
        }
    });

}

我已复制此 Javascript代码(初学者在javascript中)。它只接受图像文件。我想更改此代码,该代码仅接受 .crt,.cer .der Extentions。

谢谢:)

1 个答案:

答案 0 :(得分:0)

您当前的正则表达式实际上会匹配包含单词“image”的任何文件名(文件名的任何部分是“image”,后跟零个或多个字符)

如果要匹配以“.crt”,“。cer”或“.der”结尾的文件名,可以使用此正则表达式:

var imageType = /\.crt|cer|der$/

您可以使用Rubular

测试正则表达式