memo.xight.org

日々のメモ

メールアドレスのチェック

function checkMail(){
	var ret = true;
	var mail = document.form.mail.value;
	if (isEmpty(mail)){
		alert('[メールアドレス] を記入してください');
		document.form.mail.focus();
		document.form.mail.select();
		ret = false;
	} else if (!mail.match(/^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/){
		alert('正しい [メールアドレス] を記入してください');
		document.form.mail.focus();
		document.form.mail.select();
		ret = false;
	}
	return ret;
}


修正 [2005-12-21]

function checkMail(){
	var mail = document.form.mail.value;
	var validMail = (mail.match(/^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/));
	var state = (mail != '' && validMail);
	var errorMessage = 
	  (mail == '') ? '[メールアドレス]を記入してください' :
	  (!validMail) ? '正しい [メールアドレス] を記入してください' : '' ;
	
	if (!state){
		alert(errorMessage);
		document.form.mail.focus();
		document.form.mail.select();
	}
	return state;
}

Reference

MSDN - .NET Framework 開発者ガイド - 例: 電子メール形式の確認
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconexampleconfirmingvalidemailformat.asp

via

@IT - @IT会議室 > Insider.NET 会議室 > JavaScriptでの正規表現(全角文字・メールアドレス)について
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=9806&forum=7