ユーザー入力を正規表現と照合する5つの関数があります。これらの正規表現は抽象化され、previous postに示唆されています。手続き型コードを連想配列オブジェクトに連結
今、私は機能を抽象化して、前の投稿ごとに連想配列にコードを入れたいと思っていますが、これはベストプラクティスかどうかという点でいくつかの意見がありましたか?このO.Kはやっていますか?
これらの関数を関数の連想配列に入れるのは良い方法ですか?これを行う前のポストはアップではありません。私は彼らがそれに反対することを推測しています。
しかし、基本的には、同様の方法を適切にまとめてグループ化する方法です。
EDIT 1: // consolidated regular expressions
var patterns = {
name: /^[a-zA-Z-\s]{1,20}$/,
email: /^[a-zA-Z0-9._-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{1,4}$/,
pass: /.{6,40}/,
url: /^[-\w&:\/\.=\?,#+]{1,}$/,
aml: /<(.+)_([a-z]){1}>$/
};
// checks full name which allows characters and dashes
function check_name(text,id,res)
{
for(var d=0;d<=0;d++)
{
if(!patterns["name"].exec(text.value))
{
o2(id,res);
return 0;
}
}
return 1;
}
// checks for valid email form
function check_email(text,id,res)
{
if(!patterns["email"].exec(text.value))
{
o2(id,res);
return 0;
}
return 1;
}
// checks for password length
function check_pass(text,id,res)
{
if(!patterns["pass"];.exec(text.value))
{
o2(id,res);
return 0;
}
return 1;
}
// checks for valid url form
function check_url(text,id,res)
{
if(!patterns["url"].exec(text.value))
{
o2(id,res);
return 0;
}
return 1;
}
// checks for aml form
function check_aml(text)
{
if(a=patterns["aml"].exec(text))
{
if(a[2]=='p')
{
return 0;
}
else if (a[2]=='f')
{
return 1;
}
}
else
{
return 2;
}
}
投稿を校正することができます... –