Saya menggunakan bidang teks tempat pengguna dapat memasukkan tautan YouTube apa pun. Regex yang saya gunakan memungkinkan URL dengan http:// genap.

Entah bagaimana saya ingin membatasi penggunaan http:// di URL. Saya mencoba banyak posting di komunitas. Tapi tetap saja saya tidak mendapatkan solusi untuk melarang penggunaan http://.

Ekspresi reguler saya:

(?:https?:\/\/)?((www\.)?youtube\.com|youtu\.?be)\/.+$
-2
tkamath99 25 Mei 2021, 15:57

2 jawaban

Jawaban Terbaik

Singkirkan ? setelah s yang menjadikan s opsional dan tambahkan jangkar di awal:

^(?:https:\/\/)?((www\.)?youtube\.com|youtu\.?be)\/.+$
#       ^^^

Lihat demo di regex101.com.

2
Jan 25 Mei 2021, 13:06

RegEX selalu lebih lambat dan berat dalam eksekusi. Solusi yang lebih sederhana adalah dengan menggunakan fungsi startWith dari javascript (https://www.w3schools.com/jsref /jsref_startswith.asp).

If(txt.val().startWith("https://www.youtube.com") || txt.val().startWith("https://www.youtu.be")){ //lakukan barang }

0
Aniruddha 25 Mei 2021, 13:05