我正在尝试在 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');
}
不确定为什么有两个单独的子句:
(?:[\w]\:|\\)
和
(\\[a-z_\-\s0-9\.]+)
此外,最后一个子句后面的 +
总是会导致它失败
关于javascript - 带扩展名的文件名验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35156277/