我有一个表单,允许用户在下载文件时键入他们想要的带扩展名的文件名,但我需要在客户端验证(不包含[^/?*:;{}\\]+\\.[^/?*:;{}\\]+
,这样的东西) 。文件名不需要包含扩展名,但如果他们愿意,也可以。我发现了这个:Validate a file name on Windows
但是我在jQuery上不够流利,无法使它工作。
答案 0 :(得分:0)
正如我的评论所说,它不是一个jQuery问题,它是你追求的一个javascript的东西。
你可以采用两种方式,最简单的方法是
var myString = "hello world";
var regexp = /w+/
var match = regexp.exec(myString);
console.log(myString); //will print the world "hello"
另一个将使用Regexp Object
。
如果您同意将其称为“文字正则表达式”,则不要使用“文字正则表达式”,而是使用对象
var re = new RegExp("\\w+");
var match = re.exec(myString);
console.log(myString); //will print the world "hello"
这个方便的网站是Ruby regexp的主要网站,但它是创建regexp的绝佳工具
答案 1 :(得分:0)
您可以尝试以下代码。如果有效,则返回文件名。否则它将返回 null
var filename = ''; // enter your file name here
alert(filename.match(/^\s*[a-z-._\d,\s]+\s*$/i))
如果你想排除一些字符,请在方括号内提及这些字符,如下所示
/^[^<>%$]*$/