Tugas kami adalah untuk mengesahkan rentetan input dan perlu menyemak sama ada ia adalah abjad angka menggunakan JavaScript. Rentetan abjad angka hanya mengandungi aksara angka dan abjad, termasuk aksara besar atau huruf kecil, malah bukan sebarang aksara atau ruang khas.
Di bawah, kita akan melihat dua kaedah untuk mengesahkan rentetan input.
Kita boleh menggunakan kaedah charCodeAT() untuk mendapatkan nilai ASCII bagi sebarang aksara. Di sini, kami akan mengulangi setiap aksara rentetan dan menyemak nilai ASCII bagi setiap aksara. Kod ASCII antara 48 dan 57 mewakili aksara angka, 97 dan 122 mewakili aksara abjad huruf kecil, dan 65 dan 90 mewakili aksara abjad huruf besar.
Jadi jika kita menemui mana-mana aksara yang nilai ASCIInya bukan antara julat ASCII yang diberikan di atas, kita boleh mengatakan bahawa rentetan itu bukan abjad angka.
Pengguna boleh menggunakan kaedah charCodeAT() mengikut sintaks berikut untuk menyemak sama ada rentetan input ialah abjad angka.
let charCode = char.charCodeAt(0); if (!(charCode > 47 && charCode < 58) && !(charCode > 96 && charCode < 123) && !(charCode > 64 && charCode < 91) ) { // string is not alphanumeric return; }
Dalam sintaks di atas, char ialah aksara tunggal. Kami menggunakan kaedah charCodeAT() untuk mendapatkan nilai ASCII bagi satu aksara. Selepas itu, kami menggunakan pernyataan if-else untuk menyemak sama ada kod ASCII bagi aksara tersebut berada di antara nilai ASCII bagi aksara angka dan abjad.
Dalam contoh di bawah, kami telah mencipta dua rentetan input yang mengandungi pelbagai aksara. Selain itu, kami mentakrifkan fungsi validateString(). Dalam fungsi validateString(), kami menggunakan gelung for-of untuk mengulangi setiap aksara rentetan. Selain itu, kami menggunakan kaedah charCodeAt() untuk mendapatkan nilai ASCII sesuatu aksara dengan menghantar 0 sebagai hujah.
Kemudian kita semak sama ada terdapat aksara yang kod ASCIInya bukan antara julat ASCII untuk aksara angka dan abjad, kita boleh mengatakan bahawa rentetan itu bukan abjad angka.
Using the for loop and charCodeAT() method to check if input string is alphanumeric or not
Kami boleh mencipta ungkapan biasa menggunakan pembina RegExp() dengan kata kunci baharu. Ia ialah corak di mana kita boleh memadankan rentetan input dengan corak ungkapan biasa dan mengembalikan boolean benar atau palsu berdasarkan ini.
Pengguna boleh menggunakan ungkapan biasa untuk mengesahkan rentetan abjad angka dengan mengikut sintaks di bawah.
let strRegex = new RegExp(/^[a-z0-9]+$/i); let result = strRegex.test(string);
Dalam sintaks di atas, pembolehubah hasil mengandungi nilai boolean berdasarkan sama ada rentetan adalah abjad angka atau tidak.
^- Mewakili permulaan rentetan.
[a-z0-9]+- hanya mewakili aksara antara a hingga z atau 0 hingga 9.
$- Mewakili hujung rentetan.
i– Ini ialah bendera untuk ungkapan biasa yang digunakan untuk perbandingan rentetan tidak sensitif huruf besar-besaran.
Dalam contoh di bawah, kami memanggil fungsi validateString() dengan menghantar pelbagai rentetan sebagai parameter. Dalam fungsi kita mencipta tafsiran biasa seperti di atas. Selepas itu, kami menggunakan kaedah test() dengan menghantar ungkapan biasa sebagai rujukan dan menghantar rentetan input sebagai parameter pengesahan.
Jika kaedah test() kembali benar, rentetan input ialah abjad angka dan hanya mengandungi aksara angka dan abjad jika tidak, rentetan itu bukan abjad angka.
Using the Regular expression to check if input string is alphanumeric or not
Dalam contoh di bawah, kami menggunakan kaedah Prompt () untuk mendapatkan rentetan daripada pengguna. Selepas itu, kami menggunakan ungkapan biasa untuk mengesahkan rentetan, seperti yang kami gunakan dalam contoh di atas, tetapi di sini kami menggunakan ungkapan biasa yang berbeza.
Di sini, [^a-zA-Z0-9] mewakili sebarang aksara yang bukan antara a hingga z, A hingga Z dan 0 hingga 9. Oleh itu, kaedah test() mengembalikan benar jika rentetan itu bukan abjad angka dan palsu untuk rentetan abjad angka.
Using the Regular expression to check if input string is alphanumeric or not
Kami belajar tentang mengesahkan rentetan alfanumerik dalam tutorial ini. Kami menggunakan dua ungkapan biasa yang berbeza untuk mengesahkan rentetan alfanumerik. Selain itu, kami telah mempelajari cara mudah menggunakan kaedah for loop dan charCodeAT(), tetapi ia tidak cekap masa dan tidak disyorkan.
Atas ialah kandungan terperinci Bagaimana untuk mengesahkan sama ada input adalah abjad angka atau bukan abjad menggunakan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!