JavaScript RegEx Tidak Berfungsi?
Kod anda menyemak kesahihan format tarikh menggunakan ungkapan biasa, tetapi ia sentiasa mengembalikan palsu. Isunya terletak pada pembinaan ungkapan biasa.
Semasa anda memulakan ungkapan biasa daripada rentetan, anda perlu memetik dua kali garis sengkang ke belakang () dalam corak. Ini kerana penghurai rentetan menganggap garis miring belakang sebagai aksara khas untuk pemalar rentetan.
Kod Salah:
var regEx = new RegExp("^(0[1-9]|1[0-2])/\d{4}$", "g");
Kod Betul:
var regEx = new RegExp("^(0[1-9]|1[0-2])//\d{4}$", "g");
Atau, lebih mudah, gunakan sintaks ungkapan biasa tanpa perlu melepaskan garis miring:
var regEx = /^(0[1-9]|1[0-2])/\d{4}$/g;
Sekarang, ungkapan biasa harus sepadan dengan tarikh dengan format "MM/YYYY" . Pastikan anda memetik dua kali sebarang garis miring (/) yang dibenamkan dalam corak ungkapan biasa.
Atas ialah kandungan terperinci Mengapa Ungkapan Biasa JavaScript Saya Tidak Berfungsi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!