Bolehkah MySQL Menggunakan Ungkapan Biasa untuk Mengesahkan Nombor Telefon?

Linda Hamilton
Lepaskan: 2024-11-20 20:58:13
asal
349 orang telah melayarinya

Can MySQL Use Regular Expressions to Validate Phone Numbers?

Menguatkuasakan Pengesahan Data dengan Ungkapan Biasa dalam MySQL

Bolehkah MySQL menggunakan ungkapan biasa untuk memastikan integriti data, terutamanya dalam kes di mana medan seperti 'nombor telefon' memerlukan parameter pengesahan khusus?

Ya, MySQL menawarkan keupayaan menggunakan ungkapan biasa untuk pengesahan data. Tidak seperti kekangan SEMAK terhad, MySQL menggunakan pencetus untuk menguatkuasakan ketekalan data. Dengan melaksanakan pencetus, anda boleh menentukan kekangan ungkapan biasa, memastikan data mematuhi kriteria yang telah ditetapkan.

Berikut ialah contoh praktikal:

Untuk menguatkuasakan pengesahan nombor telefon menggunakan ungkapan biasa (Sebagai contoh, nombor hendaklah dalam format 64-221221442):

CREATE TABLE data (
  phone varchar(100)
);

DELIMITER $$
CREATE TRIGGER trig_phone_check BEFORE INSERT ON data
FOR EACH ROW
BEGIN
IF (NEW.phone REGEXP '^(\+?[0-9]{1,4}-)?[0-9]{3,10}$' ) = 0 THEN
  SIGNAL SQLSTATE '12345'
     SET MESSAGE_TEXT = 'Wroooong!!!';
END IF;
END$$
DELIMITER ;
Salin selepas log masuk

Dengan adanya pencetus ini, sebarang percubaan untuk memasukkan nombor telefon yang tidak mematuhi format yang ditentukan (cth. 64-22122 WRONG 1442) akan mencetuskan ralat, menghalang data yang salah daripada memasuki pangkalan data.

Walaupun MySQL mendayakan mekanisme pengesahan sedemikian, adalah penting untuk diingat bahawa pengesahan data tidak seharusnya bergantung pada lapisan pangkalan data semata-mata. Mekanisme pengesahan yang komprehensif harus dilaksanakan sepanjang aplikasi pada pelbagai peringkat.

Atas ialah kandungan terperinci Bolehkah MySQL Menggunakan Ungkapan Biasa untuk Mengesahkan Nombor Telefon?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan