অনুরোধের সরলতার জন্য বিদ্যমান উত্তরগুলির কোনওটিই যথেষ্ট কমপ্যাক্ট মনে হয়নি। কোনও সেট থেকে কোনও প্রদত্ত ফাইল ইনপুট ফিল্ডের একটি এক্সটেনশন রয়েছে কিনা তা পরীক্ষা করে নেওয়া যায়:
function hasExtension(inputID, exts) {
var fileName = document.getElementById(inputID).value;
return (new RegExp('(' + exts.join('|').replace(/\./g, '\\.') + ')$')).test(fileName);
}
সুতরাং উদাহরণস্বরূপ ব্যবহার হতে পারে (যেখানে upload
হয় id
একটি ফাইল ইনপুটের):
if (!hasExtension('upload', ['.jpg', '.gif', '.png'])) {
}
বা jQuery প্লাগইন হিসাবে:
$.fn.hasExtension = function(exts) {
return (new RegExp('(' + exts.join('|').replace(/\./g, '\\.') + ')$')).test($(this).val());
}
ব্যবহারের উদাহরণ:
if (!$('#upload').hasExtension(['.jpg', '.png', '.gif'])) {
}
.replace(/\./g, '\\.')
Regexp জন্য ডট সেখানে পালিয়ে যেতে যাতে মৌলিক এক্সটেনশন কোনো চরিত্র মিলে বিন্দু ছাড়া পাস করা যেতে পারে।
এগুলি সংক্ষিপ্ত রাখতে এগুলি পরীক্ষা করার ক্ষেত্রে কোনও ত্রুটি নেই, সম্ভবত আপনি যদি এটি ব্যবহার করেন তবে নিশ্চিত হয়ে নিন যে ইনপুটটি আগে উপস্থিত রয়েছে এবং এক্সটেনশানগুলি অ্যারেটি বৈধ কিনা!