MySQL は正規表現を使用して電話番号を検証できますか?

Linda Hamilton
リリース: 2024-11-20 20:58:13
オリジナル
349 人が閲覧しました

Can MySQL Use Regular Expressions to Validate Phone Numbers?

MySQL で正規表現を使用したデータ検証の強制

MySQL は、特に次のようなフィールドが存在する場合に、正規表現を利用してデータの整合性を確保できますか? 「電話番号」には特定の検証パラメータが必要ですか?

はい、MySQL は提供しますデータ検証に正規表現を利用する機能。 制限付きの CHECK 制約とは異なり、MySQL はデータの一貫性を強制するためにトリガーを使用します。トリガーを実装することで、正規表現の制約を指定して、データが事前に定義された基準に確実に適合するようにすることができます。

実際の例を次に示します。

次を使用して電話番号検証を強制するには正規表現 (たとえば、数値は次の形式である必要があります) 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 ;
ログイン後にコピー

このトリガーを設定すると、指定された形式 (例: 64-22122 WRONG 1442) に準拠していない電話番号を挿入しようとするとエラーがトリガーされ、

MySQL ではこのような検証メカニズムが可能ですが、次のことが重要です。データ検証はデータベース層だけに依存すべきではないことに注意してください。包括的な検証メカニズムは、アプリケーション全体のさまざまなレベルで実装する必要があります。

以上がMySQL は正規表現を使用して電話番号を検証できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート