cari
Rumahhujung hadapan webtutorial jsPetua Pantas: Menguji jika rentetan sepadan dengan regex dalam javascript

Quick Tip: Testing if a String Matches a Regex in JavaScript

mata teras

    kaedah JavaScript adalah alat praktikal untuk memeriksa sama ada rentetan sepadan dengan ungkapan biasa. Kaedah ini menerima rentetan sebagai hujah dan mengembalikan nilai boolean yang menunjukkan sama ada rentetan sepadan dengan ungkapan biasa.
  • test() Ekspresi biasa dalam JavaScript berguna untuk mengesan maklumat dalam rentetan yang boleh ditulis dalam format yang berbeza (seperti tarikh, URL, e -mel, dll.). Mereka menyediakan keadaan ujian rentetan yang lebih fleksibel daripada kaedah seperti
  • .
  • indexOf() Kaedah lain yang sepadan dengan ekspresi biasa JavaScript termasuk
  • ,
  • , dan match. Kaedah ini digunakan untuk mendapatkan sebahagian daripada rentetan yang sepadan dengan ungkapan biasa, cari corak ekspresi biasa dalam rentetan, dan hasil carian. search exec
  • Tutorial pendek ini akan menerangkan cara menggunakan kaedah
untuk menguji sama ada rentetan sepadan dengan ungkapan biasa.

test() berdiri adalah serpihan teks yang boleh mengandungi pelbagai data seperti URL, nombor telefon, nama, nombor, dan sebagainya. Dalam banyak kes, anda perlu menyemak sama ada rentetan mengandungi sekeping teks atau beberapa jenis watak.

Apabila anda menguji jika rentetan mengandungi substring tertentu, anda mungkin cenderung menggunakan kaedah seperti

. Walau bagaimanapun, untuk ujian dan keadaan yang lebih fleksibel, menggunakan ungkapan biasa adalah pilihan yang lebih baik.

indexOf() pemadanan ungkapan biasa JavaScript membolehkan anda menyemak sama ada rentetan mengandungi corak tertentu, substring, atau jenis aksara. Ekspresi biasa berguna untuk mengesan maklumat dalam rentetan yang boleh ditulis dalam format yang berbeza, seperti tarikh.

rentetan ujian dengan ekspresi biasa

Untuk menguji jika rentetan sepadan dengan ungkapan biasa, anda mesti terlebih dahulu membuat contoh ekspresi biasa. Anda kemudian boleh menggunakan kaedah

yang tersedia pada ungkapan biasa untuk memeriksa sama ada rentetan sepadan dengan ungkapan biasa.

Kaedah test()

Menerima parameter: rentetan yang akan diuji terhadap corak. Ia mengembalikan nilai boolean yang menunjukkan sama ada rentetan sepadan dengan ungkapan biasa.

test() Contoh:

Dalam contoh ini, anda membuat corak
const pattern = /test.*regular/;
const str = 'I want to test this string against a regular expression';
if (pattern.test(str)) {
  console.log('Matched');
} else {
  console.log('Not Matched');
}
. Corak ini bermaksud bahawa rentetan mesti mengandungi perkataan "ujian" dan "biasa" dalam perintah ini, dan kata -kata boleh dipisahkan oleh sifar atau lebih daripada mana -mana aksara.

test.*regular Jika

kembali

, "dipadankan" direkodkan dalam konsol. Jika tidak, rekod "tidak dipadankan" dalam konsol. test() true Sejak

mengandungi perkataan "ujian" dan "biasa", dan "ujian" sebelum "biasa" dalam rentetan, ia akan sepadan dengan corak dan

akan kembali str. test() true anda juga boleh mengisytiharkan corak menggunakan

pembina:

RegExp

Anda boleh mengujinya dalam demo Codepen di bawah.
const pattern = new RegExp('test.*regular');
const str = 'I want to test this string against a regular expression';
if (pattern.test(str)) {
  console.log('Matched');
} else {
  console.log('Not Matched');
}

Contoh biasa

Bahagian ini menunjukkan beberapa contoh tentang cara menggunakan pemadanan ekspresi biasa JavaScript untuk menguji kes penggunaan biasa. Harus diingat bahawa ungkapan biasa yang digunakan di sini mungkin bukan penyelesaian yang sempurna dalam setiap kes. Mereka masing -masing digunakan untuk memberikan contoh mudah bagaimana proses berfungsi.

url ujian

Anda boleh menggunakan ungkapan biasa untuk menguji sama ada rentetan adalah URL. Anda boleh bereksperimen dengan demonstrasi codepen berikut.

Perhatikan bahawa corak ekspresi biasa yang digunakan di atas mengharapkan URL bermula dengan http:// atau https://.

Ujian e -mel

Anda boleh menggunakan ungkapan biasa untuk menguji sama ada rentetan adalah alamat e -mel yang sah. Demonstrasi codepen berikut menunjukkan bagaimana untuk melakukannya.

Tarikh Ujian

Anda boleh menggunakan ungkapan biasa untuk menguji sama ada rentetan adalah tarikh. Demonstrasi codepen berikut menunjukkan bagaimana untuk melakukannya.

Perhatikan bahawa format corak ekspresi biasa yang digunakan di atas adalah "dd-mm-yyyy" atau "dd/mm/yyyy".

cara lain untuk memadankan ekspresi biasa JavaScript

Terdapat cara lain untuk menguji jika rentetan sepadan dengan ungkapan biasa. Artikel ini tidak akan memperkenalkannya sepenuhnya, tetapi berikut adalah gambaran ringkas:

  • match. Kaedah ini boleh didapati pada rentetan. Ia menerima ungkapan biasa sebagai hujah dan mengambil bahagian rentetan yang sepadan dengan ungkapan biasa (jika wujud).
  • search. Kaedah ini boleh didapati pada rentetan. Ia menerima ungkapan biasa sebagai argumen, mencari sama ada corak ekspresi biasa wujud dalam rentetan, dan jika ya, mencari indeks di mana corak pertama muncul dalam rentetan.
  • exec. Kaedah ini tersedia pada ungkapan biasa. Ia mengambil rentetan sebagai hujah, mencari rentetan untuk corak ekspresi biasa, dan mengambil hasilnya (jika ada).

Kesimpulan

Ekspresi biasa berguna untuk menguji sama ada rentetan mengandungi corak atau substring tertentu. Menggunakan pemadanan ekspresi biasa JavaScript, anda boleh menyemak sama ada rentetan adalah URL, tarikh, alamat IP, atau jenis dan format lain.

Kaedah indexOf() yang tersedia pada ekspresi biasa memberikan fleksibiliti yang lebih besar apabila menguji sama ada corak sepadan dengan rentetan daripada menggunakan kaedah lain seperti test().

Bacaan yang berkaitan:

  • ungkapan biasa dalam javascript
  • 3 petua pintar untuk menggunakan ekspresi biasa
  • Buka kunci misteri regex menggunakan contoh sebenar
  • Petua Pantas: Cara Memisahkan Rentetan Ke Substrings Dalam JavaScript

Soalan Lazim pada Pemadanan String Advanced dan Ekspresi Biasa Menggunakan Kaedah Perlawanan JavaScript ()

Apakah tujuan kaedah () dalam JavaScript?

Kaedah match() dalam JavaScript adalah alat yang berkuasa untuk mendapatkan perlawanan apabila rentetan yang sepadan dengan ekspresi biasa. Ia mengembalikan pelbagai keputusan, termasuk keseluruhan rentetan yang sepadan dan mana -mana tanda kurung yang ditangkap. Jika tiada perlawanan dijumpai, kembali null. Kaedah ini amat berguna apabila anda perlu memanipulasi rentetan atau memeriksa kewujudan corak tertentu dalam rentetan.

bagaimana kaedah perlawanan () dalam JavaScript berbeza daripada kaedah rentetan lain?

Tidak seperti kaedah rentetan lain seperti indexOf() atau includes(), kaedah match() membolehkan pencocokan corak yang lebih kompleks. Ia menggunakan ungkapan biasa, yang menyediakan cara yang fleksibel dan ringkas untuk memadankan rentetan teks. Ini menjadikannya alat yang lebih berkuasa untuk tugas -tugas seperti pengesahan bentuk, pengekstrakan data, dan manipulasi rentetan.

Bolehkah anda memberikan contoh cara menggunakan kaedah perlawanan ()?

Sudah tentu, katakan anda mempunyai rentetan dan anda ingin mencari semua kejadian perkataan "ujian". Inilah cara melakukannya: let str = "This is a test. Test is important."; let result = str.match(/test/gi); console.log(result); // ["test", "Test"] Dalam contoh ini, ungkapan biasa /test/gi digunakan. Bendera "G" mewakili carian global, dan bendera "I" mewakili carian kes-insensitif.

Apakah ungkapan biasa dalam JavaScript?

Ekspresi biasa, juga dikenali sebagai regex atau regexp, adalah corak yang digunakan untuk memadankan kombinasi watak dalam rentetan. Dalam JavaScript, ungkapan biasa adalah objek yang boleh ditakrifkan dalam dua cara: menggunakan literals atau menggunakan pembina RegExp. Mereka menyediakan cara yang kuat untuk melakukan corak yang sesuai dengan watak, kata -kata, dan corak watak tertentu.

Bagaimana menggunakan ungkapan biasa dengan kaedah () kaedah?

Anda boleh menggunakan ungkapan biasa secara langsung sebagai parameter ke kaedah match(). Sebagai contoh, jika anda ingin mencari semua nombor dalam rentetan, anda boleh menggunakan watak -watak khas d untuk mewakili nombor dalam ungkapan biasa: let str = "The year is 2022."; let result = str.match(/d /g); console.log(result); // ["2022"] Dalam contoh ini, d sepadan dengan satu atau lebih nombor, dan bendera "G" melakukan carian global untuk semua perlawanan, bukan hanya perlawanan pertama.

Apa yang berlaku jika perlawanan tidak dapat dijumpai apabila menggunakan kaedah perlawanan ()?

Apabila menggunakan kaedah match(), jika tiada perlawanan dijumpai, ia kembali null. Ini berguna untuk pemeriksaan keadaan. Sebagai contoh, anda boleh menyemak sama ada hasilnya adalah null sebelum meneruskan operasi lain dalam kod anda.

Bolehkah saya mengganti bahagian rentetan dengan kaedah perlawanan ()?

Walaupun kaedah match() digunakan terutamanya untuk mencari, jika anda ingin menggantikan sebahagian daripada rentetan berdasarkan corak, JavaScript menyediakan kaedah replace(), yang boleh digunakan dengan ungkapan biasa. Walau bagaimanapun, anda boleh menggunakan kaedah match() untuk mencari bahagian rentetan yang perlu diganti.

Bagaimana menggunakan kaedah perlawanan () untuk menangkap kumpulan?

Anda boleh menangkap kumpulan dengan menggunakan kurungan dalam ekspresi biasa. Kaedah match() mengembalikan kumpulan ini sebagai elemen berasingan dalam array hasil. Contohnya: let str = "The year is 2022."; let result = str.match(/(d )/g); console.log(result); // ["2022"] Dalam contoh ini, (d ) adalah kumpulan yang sepadan dengan satu atau lebih nombor.

Bolehkah saya menggunakan aksara khas dalam ungkapan biasa dengan kaedah perlawanan ()?

Ya, ungkapan biasa menyokong satu siri watak khas yang membolehkan anda membuat corak carian kompleks. Sebagai contoh, d bermaksud mana -mana nombor, w bermaksud mana -mana watak alfanumerik, dan . bermaksud apa -apa watak kecuali garis pecah.

Apakah batasan kaedah () kaedah?

Walaupun kaedah match() berkuasa, ia mempunyai beberapa batasan. Ia hanya boleh digunakan dengan rentetan, bukan dengan jenis data lain. Di samping itu, ia hanya boleh mengembalikan array hasil atau null, bukan nilai boolean. Jika anda memerlukan hasil Boolean, anda mungkin perlu menggunakan kaedah RegExp objek test() sebaliknya.

Atas ialah kandungan terperinci Petua Pantas: Menguji jika rentetan sepadan dengan regex 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
Rangka Kerja JavaScript: Menguasai Pembangunan Web ModenRangka Kerja JavaScript: Menguasai Pembangunan Web ModenMay 02, 2025 am 12:04 AM

Kuasa rangka kerja JavaScript terletak pada pembangunan yang memudahkan, meningkatkan pengalaman pengguna dan prestasi aplikasi. Apabila memilih rangka kerja, pertimbangkan: 1.

Hubungan antara JavaScript, C, dan penyemak imbasHubungan antara JavaScript, C, dan penyemak imbasMay 01, 2025 am 12:06 AM

Pengenalan Saya tahu anda mungkin merasa pelik, apa sebenarnya yang perlu dilakukan oleh JavaScript, C dan penyemak imbas? Mereka seolah -olah tidak berkaitan, tetapi sebenarnya, mereka memainkan peranan yang sangat penting dalam pembangunan web moden. Hari ini kita akan membincangkan hubungan rapat antara ketiga -tiga ini. Melalui artikel ini, anda akan mempelajari bagaimana JavaScript berjalan dalam penyemak imbas, peranan C dalam enjin pelayar, dan bagaimana mereka bekerjasama untuk memacu rendering dan interaksi laman web. Kita semua tahu hubungan antara JavaScript dan penyemak imbas. JavaScript adalah bahasa utama pembangunan front-end. Ia berjalan secara langsung di penyemak imbas, menjadikan laman web jelas dan menarik. Adakah anda pernah tertanya -tanya mengapa Javascr

Aliran node.js dengan typescriptAliran node.js dengan typescriptApr 30, 2025 am 08:22 AM

Node.js cemerlang pada I/O yang cekap, sebahagian besarnya terima kasih kepada aliran. Aliran memproses data secara berperingkat, mengelakkan beban memori-ideal untuk fail besar, tugas rangkaian, dan aplikasi masa nyata. Menggabungkan sungai dengan keselamatan jenis typescript mencipta powe

Python vs JavaScript: Pertimbangan Prestasi dan KecekapanPython vs JavaScript: Pertimbangan Prestasi dan KecekapanApr 30, 2025 am 12:08 AM

Perbezaan prestasi dan kecekapan antara Python dan JavaScript terutamanya dicerminkan dalam: 1) sebagai bahasa yang ditafsirkan, Python berjalan perlahan tetapi mempunyai kecekapan pembangunan yang tinggi dan sesuai untuk pembangunan prototaip pesat; 2) JavaScript adalah terhad kepada benang tunggal dalam penyemak imbas, tetapi I/O multi-threading dan asynchronous boleh digunakan untuk meningkatkan prestasi dalam node.js, dan kedua-duanya mempunyai kelebihan dalam projek sebenar.

Asal JavaScript: Meneroka Bahasa PelaksanaannyaAsal JavaScript: Meneroka Bahasa PelaksanaannyaApr 29, 2025 am 12:51 AM

JavaScript berasal pada tahun 1995 dan dicipta oleh Brandon Ike, dan menyedari bahasa itu menjadi C. 1.C Language menyediakan keupayaan pengaturcaraan prestasi tinggi dan sistem untuk JavaScript. 2. Pengurusan memori JavaScript dan pengoptimuman prestasi bergantung pada bahasa C. 3. Ciri lintas platform bahasa C membantu JavaScript berjalan dengan cekap pada sistem operasi yang berbeza.

Di sebalik tabir: Apa bahasa JavaScript?Di sebalik tabir: Apa bahasa JavaScript?Apr 28, 2025 am 12:01 AM

JavaScript berjalan dalam penyemak imbas dan persekitaran Node.js dan bergantung pada enjin JavaScript untuk menghuraikan dan melaksanakan kod. 1) menjana pokok sintaks abstrak (AST) di peringkat parsing; 2) menukar AST ke bytecode atau kod mesin dalam peringkat penyusunan; 3) Laksanakan kod yang disusun dalam peringkat pelaksanaan.

Masa Depan Python dan JavaScript: Trend dan RamalanMasa Depan Python dan JavaScript: Trend dan RamalanApr 27, 2025 am 12:21 AM

Trend masa depan Python dan JavaScript termasuk: 1. Kedua -duanya akan terus mengembangkan senario aplikasi dalam bidang masing -masing dan membuat lebih banyak penemuan dalam prestasi.

Python vs JavaScript: Persekitaran dan Alat PembangunanPython vs JavaScript: Persekitaran dan Alat PembangunanApr 26, 2025 am 12:09 AM

Kedua -dua pilihan Python dan JavaScript dalam persekitaran pembangunan adalah penting. 1) Persekitaran pembangunan Python termasuk Pycharm, Jupyternotebook dan Anaconda, yang sesuai untuk sains data dan prototaip cepat. 2) Persekitaran pembangunan JavaScript termasuk node.js, vscode dan webpack, yang sesuai untuk pembangunan front-end dan back-end. Memilih alat yang betul mengikut keperluan projek dapat meningkatkan kecekapan pembangunan dan kadar kejayaan projek.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna