登録検証の枠組み
7416 ワード
登録機能はウェブサイトの基本機能ですが、検証はいつも書き換えが必要です.面倒くさいです.
ですから、簡単なフレームワークを作りました.パラメータを変更することで簡単な検証ができます.
Valid.Nameのユーザー名は検証して、彼は5つのパラメーターがあります.
ID:認証するユーザ名のあるテキストドメインID (必須)
minLength:ユーザー名の最小長さ (必須)
maxLength:ユーザ名の最大長さ (必須)
haveOrNot:ユーザー名は空いていますか? (デフォルトはtrueで、trueは空でもいいです.falseは空ではいけないと言います.)
div:ヒント情報を表示する層ID (書き込みは、値がない場合は、提示情報をalertで表示します)
以下はValid.Nameを例にとって使ってみます.
新しいhtmlページのコードは以下の通りです.
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"<>html xmlns="http://www.w3.org/1999/xhtml""
ですから、簡単なフレームワークを作りました.パラメータを変更することで簡単な検証ができます.
<script language="javascript">
var Valid=new Object();
function $(id){
return document.getElementById(id);
}
function showAlert(message){
alert(message);
}
function showDiv(message,id){
var str=document.getElementById(id);
str.innerHTML=message;
}
function api(id,reg,message,haveOrNot,div){
var str=document.getElementById(id).value;
var flag=true;
if(typeof haveOrNot=="undefined") haveOrNot=true;
if((str==null||str=="")&&!haveOrNot){
flag=false;
message=message+" !";
}
else if((!reg.exec(str))&&(!((str==null||str=="")&&haveOrNot))){
flag=false;
message=message+" !";
}
if(!flag){
if(typeof div=="undefined") showAlert(message);
else showDiv(message,div);
}
return flag;
}
//id id ,,minLength ,maxLength
//haveOrNot ,true ,false
//div , , alert , , id
Valid.Name=function name(id,minLength,maxLength,haveOrNot,div){
var reg=eval("/^([a-z]){"+minLength+","+maxLength+"}$/");
var message=" ";
return api(id,reg,message,haveOrNot,div);
}
Valid.Email=function email(id,haveOrNot,div){
var reg=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
var message=" ";
return api(id,reg,message,haveOrNot,div);
}
Valid.Ps=function ps(id,minLength,maxLength,haveOrNot,div){
var reg=eval("/^([a-z]){"+minLength+","+maxLength+"}$/");
var message=" ";
return api(id,reg,message,haveOrNot,div);
}
Valid.Rps=function rps(rps_id,ps_id,div){
var rps=$(rps_id).value;
var ps=$(ps_id).value;
var flag=true;
var message="";
if(rps==""||rps==null){
flag=false;
message=" !";
}
else if(rps!=ps){
flag=false;
message=" !";
}
if(!flag){
if(typeof div=="undefined") showAlert(message);
else showDiv(message,div);
}
return flag;
}
Valid.Phone=function phone(id,haveOrNot,div){
var reg=/^\d{11}/;
var message=" ";
return api(id,reg,message,haveOrNot,div);
}
Valid.Address=function address(id,haveOrNot,div){
var reg=/^(.)*$/;
var message=" ";
return api(id,reg,message,haveOrNot,div);
}
</script>
Valid.Nameのユーザー名は検証して、彼は5つのパラメーターがあります.
ID:認証するユーザ名のあるテキストドメインID (必須)
minLength:ユーザー名の最小長さ (必須)
maxLength:ユーザ名の最大長さ (必須)
haveOrNot:ユーザー名は空いていますか? (デフォルトはtrueで、trueは空でもいいです.falseは空ではいけないと言います.)
div:ヒント情報を表示する層ID (書き込みは、値がない場合は、提示情報をalertで表示します)
以下はValid.Nameを例にとって使ってみます.
新しいhtmlページのコードは以下の通りです.
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"<>html xmlns="http://www.w3.org/1999/xhtml""