資料驗證摘要

以下摘要基於 String 型別定義了 EmailAddress 型別,該型別將使用正規表示式將傳遞的引數驗證為電子郵件地址。如果地址無效,則丟擲異常。

abstract EmailAddress(String) {
  static var ereg = ~/^[\w-\.]{2,}@[\w-\.]{2,}\.[a-z]{2,6}$/i;
  
  inline public function new(address:String) {
    if (!ereg.match(address)) throw "EmailAddress "$address" is invalid";
    this = address.toLowerCase();
  }
}

使用摘要如下。

var emailGood = new EmailAddress("john@doe.com");
var emailBad = new EmailAddress("john.doe.com");

試試 try.haxe.org 上的例子

參考