【问题标题】:File Validation in JavascriptJavascript 中的文件验证
【发布时间】:2013-12-19 18:17:27
【问题描述】:

我们正在开发电子邮件加密服务。在这里,我设计了一个 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 扩展的代码。

谢谢你:)

【问题讨论】:

标签: javascript html regex


【解决方案1】:

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

如果你想匹配以“.crt”、“.cer”或“.der”结尾的文件名,你可以使用这个正则表达式:

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

您可以使用Rubular 测试正则表达式

【讨论】:

    猜你喜欢
    • 2013-04-20
    • 1970-01-01
    • 2011-06-19
    • 2013-12-01
    • 1970-01-01
    • 2016-09-23
    • 2011-04-12
    • 2015-07-24
    相关资源
    最近更新 更多