gpt4 book ai didi

jQuery 正则表达式,文件名中允许多于一个点

转载 作者:太空宇宙 更新时间:2023-11-04 16:06:06 26 4
gpt4 key购买 nike

我正在尝试让用户上传文件名中包含多个点的文件成为可能(例如“file..jpg”、“test.file.jpg”或“file.jpg” .jpeg").

我有以下表达式,目前只允许通过 \. 一个点(例如“file.jpg”):

var ext = this.value.match(/\.(.+)$/)[1];

关于如何实现这一点有什么建议吗?

完整脚本:

var ext = this.value.match(/\.(.+)$/)[1];
switch (ext) {
case 'pdf':
case 'jpg':
case 'png':
break;
default:
alert('Not allowed file type');
this.value = '';
};

最佳答案

如果您上面的代码只是试图获取文件名的文件扩展名,那么您可以通过 . 将文件名拆分为一个数组,然后使用 pop()。您还可以将有效的扩展名放在一个数组中,并使用 indexOf() 来检查有效性。试试这个:

var validExt = [ 'pdf', 'jpg', 'png' ];
var ext = this.value.split('.').pop();

if (validExt.indexOf(ext.toLowerCase()) == -1) {
alert('Not allowed file type');
this.value = '';
}

关于jQuery 正则表达式,文件名中允许多于一个点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38076992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com