mod001 メールアドレスチェック
2007.7.14公開
flashPlayer version6.0r65以降
TextInputコンポーネント内に入力されたメールアドレスに規定以外の文字が使用されていないか、@が使用されているかをチェックします。
応用すればメールアドレス問わず使用可能です。
AS2.0には正規表現がないようなので、一文字ずつ切り分けることで実現しています。
//AlertコンポーネントはAlert呼び出しのためのものでメールアドレスチェックとは無関係
//button:メールチェック用Buttonコンポーネントのインスタンス名
//textBox:メールアドレス入力用TextInputコンポーネントインスタンス名
//メールアドレスチェック用関数
//文字列を受け取り、使用可能な文字以外を使っていた場合はfalseで返します
//また@を使用していない場合もfalseを返します
//mailtextが入力されたメールアドレス、ccharが使用可能な文字となります
function mailcheck(mailtext:String):Boolean{
var mchar:String = "";
var cchar:String = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_.@";
//button:メールチェック用Buttonコンポーネントのインスタンス名
//textBox:メールアドレス入力用TextInputコンポーネントインスタンス名
//メールアドレスチェック用関数
//文字列を受け取り、使用可能な文字以外を使っていた場合はfalseで返します
//また@を使用していない場合もfalseを返します
//mailtextが入力されたメールアドレス、ccharが使用可能な文字となります
function mailcheck(mailtext:String):Boolean{
var mchar:String = "";
var cchar:String = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_.@";
//使用可能文字のみかチェック
//受け取った文字列を一文字ずつ使用可能な文字と照らし合わせて判定しています
for (var i=0 ; i < mailtext.length ; i++){
mchar = mailtext.charAt(i);
if (cchar.indexOf(mchar,0) == -1)return false;
}
//@を使用しているかチェック
for (var i = 0 ; i < mailtext.length ; i++){
if(mailtext.charAt(i) == "@")return true;
}
return false;
}
//ボタン押下時
button.onPress = function():Void{
//メールアドレスチェック関数呼び出し
if(mailcheck(textBox.text) == true){
mx.controls.Alert.show("メールアドレスの形式は正しいです");
}
else{
mx.controls.Alert.show("メールアドレスの形式は不正です");
}
}