Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mengehadkan Panjang Watak dalam Ungkapan Biasa?

Bagaimana untuk Mengehadkan Panjang Watak dalam Ungkapan Biasa?

Barbara Streisand
Barbara Streisandasal
2024-11-20 03:17:02940semak imbas

How to Restrict Character Length in a Regular Expression?

Menghadkan Panjang Aksara dalam Ungkapan Biasa

Apabila menggunakan ungkapan biasa untuk memadankan corak tertentu dalam rentetan, selalunya perlu untuk menyekat aksara panjang untuk memastikan padanan yang tepat. Dalam contoh yang disediakan:

var test =  /^(a-z|A-Z|0-9)*[^$%^&*;:,<>()?""']*$/

regeks ini sepadan dengan mana-mana rentetan yang terdiri daripada huruf atau digit tanpa sebarang panjang aksara yang terhad. Percubaan untuk mengehadkan panjang aksara kepada 15 menggunakan [^$%^&*;:,<>()?""']*${1,15} mengakibatkan ralat.

Kepada selesaikan isu ini dan kuatkuasakan had aksara, gunakan pandangan hadapan yang dilabuhkan pada permulaan rentetan:

^(?=.{1,15}$)...

Pandangan hadapan ini menyemak sama ada rentetan sepadan dengan 1 hingga 15 aksara tetapi tidak termasuk baris baharu pada penghujung (disebabkan $). Ia mengehadkan panjang keseluruhan rentetan input.

Menggunakan pengkuantiti pada penghujung, seperti [^$%^&*;:,<>()?""']{1,15 }, hanya akan mengehadkan panjang kelas aksara kedua, bukan keseluruhan rentetan.

Untuk rentetan yang mungkin mengandungi urutan baris baharu, gunakan [sS] untuk memadankan mana-mana watak:

^(?=.[\s\S]{1,15}$)...

Ini memastikan sekatan panjang aksara terpakai merentas keseluruhan rentetan, tanpa mengira baris baharu.

Atas ialah kandungan terperinci Bagaimana untuk Mengehadkan Panjang Watak dalam Ungkapan Biasa?. 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