验证文件名是否有效是很有用的,特别是在用户提交表单时,需要确保文件名是合法可用的。
以下是一个JS
函数
,使用正则表达式可以验证文件名是否有效:
function isValidFilename(filename) {
// 排除以"."或".."开头的文件名称
if (filename.startsWith(".") || filename.startsWith("..")) {
return false;
// 匹配只包含字母、数字、下划线、中划线和空格的文件名称
var regex = /^[a-zA-Z0-9_\-\s\.]+$/;
if (regex.test(filename)) {
return true;
} else {
return false;
这个函数:
首先通过检查文件名是否以“.”或“..”开头来排除不合法的文件名。
然后,使用正则表达式匹配只包含字母、数字、下划线、中划线和空格的文件名。
如果文件名有效,则返回true,否则返回false。
使用方法:
isValidFilename("index.html"); // true
isValidFilename(".htaccess"); // false
isValidFilename("my-folder"); // true
isValidFilename("script-1.0.js"); // true
isValidFilename("app;exe"); // false
这种方法可以轻松地验证用户输入的文件名,以确保它们是合法并可用的。