我们正在开发电子邮件加密服务。在这里,我设计了一个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。
谢谢:)
答案 0 :(得分:0)
您当前的正则表达式实际上会匹配包含单词“image”的任何文件名(文件名的任何部分是“image”,后跟零个或多个字符)
如果要匹配以“.crt”,“。cer”或“.der”结尾的文件名,可以使用此正则表达式:
var imageType = /\.crt|cer|der$/
您可以使用Rubular
测试正则表达式