Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menentukan Sambungan Fail dengan Cekap dalam JavaScript?

Bagaimanakah Saya Boleh Menentukan Sambungan Fail dengan Cekap dalam JavaScript?

Patricia Arquette
Patricia Arquetteasal
2024-11-10 20:12:02327semak imbas

How Can I Efficiently Determine File Extensions in JavaScript?

Mendapatkan Sambungan Fail Menggunakan JavaScript

Menentukan lanjutan fail ialah kemahiran yang berharga dalam pengaturcaraan web. Katakan kita mempunyai kod berikut yang bertujuan untuk mendapatkan semula sambungan untuk nama fail "50.xsl" dan "30.doc."

var file1 = "50.xsl";
var file2 = "30.doc";
getFileExtension(file1); //returns xsl
getFileExtension(file2); //returns doc

function getFileExtension(filename) {
    /*TODO*/
}

Pendekatan Cekap

Kaedah ringkas dan cekap untuk mendapatkan sambungan adalah dengan menggunakan fungsi split() untuk membahagikan nama fail kepada komponennya:

return filename.split('.').pop();

Pendekatan ini membahagikan nama fail berdasarkan tanda titik ('.') dan mengembalikan komponen terakhir, mewakili sambungan fail.

Penyelesaian Alternatif

Sebagai alternatif, kita boleh menggunakan ungkapan biasa untuk memadankan dan menangkap sambungan fail:

return /[^.]+$/.exec(filename);

Ungkapan biasa ini sepadan dengan mana-mana jujukan aksara selepas tempoh akhir dalam nama fail, dengan berkesan menangkap sambungan.

Mencegah Ralat

Untuk mengelakkan ralat apabila tiada noktah hadir dalam nama fail, kami boleh mengubah suai ungkapan biasa seperti berikut:

return (/[.]/.exec(filename)) ? /[^.]+$/.exec(filename) : undefined;

Ungkapan yang diubah suai ini menyemak kehadiran noktah dan mengembalikan nilai yang tidak ditentukan jika tiada yang ditemui.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Sambungan Fail dengan Cekap dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn