带扩展名的文件名验证
File name validation with extension
我正在尝试在javascript中验证文件名。
我想要允许的字符是:任何字母、任何数字、下划线和连字符。
如果不满足此条件,我想提醒用户。我以为我有一个正则表达式,可以根据一些在线正则表达式测试器来完成这项工作,但它不起作用。
演示 https://jsfiddle.net/8g65yuu6/
var filename = 'index.html';
if (filename.match(/^(?:['w]':|'')(''[a-z_'-'s0-9'.]+)+'.html$/)) {
alert('Success: valid');
} else {
alert('Error: invalid');
}
我希望这会验证 html 文件,条件永远不会满足。
这将起作用,并且要简单得多:
var filename = 'index.html';
if (filename.match(/^(['w'-]+)'.html$/)) {
alert('Success: valid');
} else {
alert('Error: invalid');
}
不知道为什么你有 2 个单独的子句:
(?:['w]':|'')
和
(''[a-z_'-'s0-9'.]+)
此外,最后一个子句之后的+
将始终导致其失败
如果您只想检查文件名是否包含有效字符,无论其顺序如何,您可以将正则表达式简化为:
/^(['w'-]+)'.html$/
解释: 捕获一个或多个字符,这些字符是
- 任何单词字符(与
[a-zA-Z0-9_]
相同) - 连字符
-
更新的代码:
var filename = 'index.html';
if (filename.match(/^(['w'-]+)'.html$/)) {
alert('Success: valid');
} else {
alert('Error: invalid');
}
正则表达式演示
更新的 jsFiddle
相关文章:
- 正在验证8个真/假复选框或复选框中的2个
- 借助asp.net验证或java脚本对多个文本进行验证
- jQuery自定义验证比较多个输入的序列
- 使用html中的外部javascript进行数据验证
- 如何使用jquery Validation验证Formspread
- jquery中的文本框验证
- TableExport jquery插件:文件名和扩展名问题
- 在验证和发送邮件后更改联系人表单的 html
- 代码不会验证
- 用于验证文件名的 Javascript 正则表达式
- Node.JS - 如何在 JS 中对动态文件名执行验证
- 带扩展名的文件名验证
- Javascript RegEx验证文件名模式
- 验证type=“”中的文件名和文件类型;文件”;
- 根据空格验证文件名的正则表达式
- Javascript在上传前验证文件名
- 如何从单个正则表达式验证文件名和文件扩展名
- Javascript在上传2之前验证文件名
- 使用简单的正则表达式验证浏览器上传文件名和扩展名
- 在javascript中使用正则表达式验证在windows中创建文件的文件名