これはコードです:あなたは、ファイルが誤った正規表現戻りをJPGされている場合でも、見ることができるように次のファイル拡張子が正規表現と一致しないのはなぜですか?
ext: jpg
reg: /^.*\.(.jpg)$/i
res: false
:
isValid = field.uploads.forEach(upload => {
console.log(upload.file)
console.log('ext:', _.getFileExt(upload.file.name))
console.log('reg:', regex)
console.log('res:', regex.test(_.getFileExt(upload.file.name)))
})
これらはログです。どうしてこれなの?
EDIT:
ここでは、ユーティリティ関数です:
_.listToRegex = (array) => {
return new RegExp('^.*\\.(' + array.join('|') + ')$', 'i')
}
_.getFileExt = (string) => {
return string.split('.').pop()
}
「jpg」の横に追加の '.'があります。それを除く。しかし、 '_.listToRegex'は実際にパターンにドットを追加しません。コードには、それを追加している何かがあります。また 'regex.test(_。getFileExt(upload.file.name))'では 'jpg'を完全正規表現正規表現でテストしますが、' _.getFileExt(upload .file.name) 'となります。 –