使用Foundation Abide验证文件类型
Validate File Type using Foundation Abide
我希望使用Foundation的Abide插件来验证上传到type="file"输入标记中的文件扩展名的类型,但我在根据RegExp正确验证检查时遇到了问题。
html:
<div class="large-2 columns button">
<input id="uploadResume" type="file" required pattern="resume" />
<small class="error">PDF or Word Document only please</small>
</div>
javascript:
$(document)
.foundation().foundation('abide', {
patterns: {
// check if the last 3 letters are acceptable
resume: /^.(doc|DOC|pdf|PDF)*$/
}
});
现在您正试图匹配后面跟有上述扩展名的任何一个字符,所以请尝试以下模式:
图案
/'.(doc|DOC|pdf|PDF)$/
它将只匹配后面跟着任何提到的扩展的点,所以可能性是:
.doc
.DOC
.pdf
.PDF
但如果你想匹配整个文件名+扩展名,请使用这个:
图案
/^.+?'.(doc|DOC|pdf|PDF)$/
在^
之后添加了.+?
,意思是"匹配除新行之外的任何字符0次或更多次,直到满足下一个令牌,还添加了'.
,以匹配扩展之前的点。"。我还删除了*
,这是不需要的,会导致重复扩展。
示例
filename.PDF
将匹配此文件。
filename.exe
这将不匹配。
最终答案
使用第二种模式作为内联模式:
<input type="file" required pattern="^.+?'.(doc|DOC|pdf|PDF)$" />.
显然,在使用内联模式时会出现一些问题,迫使你删除模式开头和结尾的前斜杠。此外,命名模式似乎很奇怪,我不确定为什么会这样。
相关文章:
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 限制文件类型,大小,单次上传不'无法在jquery文件上传中工作
- 选择特定文件类型时切换额外输入
- 将字符串文件类型/权限转换为数字
- 使用 if - JS 将文件类型附加到 url
- 如果数据的格式略有损坏,是否仍然可以确定其文件类型
- 如何在Joomla模块中通过JavaScript发送输入文件类型
- 如何在Django表单中设置可接受的文件类型'的FileInput小部件
- 根据文件类型取消绑定和重新绑定click事件处理程序
- 禁止的文件类型docx
- 如何将文件类型从Coldfusion代码转换为javascript代码
- 使用Foundation Abide验证文件类型
- Javascript正则表达式文件类型崩溃chrome
- 如何在模式窗口中从html表单文件类型打开图像
- "npm运行构建“;模块解析错误”;您可能需要一个适当的加载程序来处理此文件类型&”;
- jQuery更改时验证文件类型
- Webpack错误:“您可能需要一个适当的加载程序来处理此文件类型”
- 如何使用ReactTestUtils设置HTML5文件类型输入
- Webpack:您可能需要一个适当的加载程序来处理此文件类型
- 文件类型值作为图像源