メールアドレスの入力チェック(JavaScript)

フォームにメールアドレスを入力後、submitしたときに、
メールアドレスの形でない場合、ユーザーに通知してsubmitを止めるやつ。

フォームの値を取り出す

elements.[フォームにつけたname or 参照番号]
htmlからJavaScriptを呼ぶ際に、引数でthisを渡しているので、
frm.elements.[フォームにつけたname or 参照番号]で値取得ができる。

HTML側
onSubmit="return registerFormCheck(this)">

JavaScript
function registerFormCheck(frm)

単純に呼び出す場合は、
document.forms.フォームの名前.elements

正規表現

ここは正直コピペです。。今度調べる。

var Seiki=/[!#-9A-~]+@+[a-z0-9]+.+[^.]$/i;


HTML:

<body>
	<h1>登録</h1>
	<form action="/ooo/RegisterUser" method="get"
		onSubmit="return registerFormCheck(this)">
		mail:<input type="text" name='email'><br> pass:
		<input type="password" name='pass'><br> name:
		<input type="text" name='name'><br>
		<input type="submit" value="登録"><br>
	</form>
</body>
</html>


JavaScript:

function registerFormCheck(frm){
	var hissu = Array("email","pass","name");
	var len = hissu.length;
	var Seiki=/[!#-9A-~]+@+[a-z0-9]+.+[^.]$/i;
	for(i=0; i<len; i++){
		var obj = frm.elements[hissu[i]];
		if(hissu[i]==="email" && !obj.value.match(Seiki)){
			window.alert("enter vailed mail address");	
			return false;
		}else if(obj.value == ""){
			window.alert(hissu[i]+"is required");
			obj.focus();
			return false;
		}
	}

	return true;
}