最終更新日:2022/01/10
メールアドレスを必要入力項目に設定することによって、入力を必項にする事が出来ますが、特定のメールアドレスやフリーメールアドレスなどの入力を規制したい場合、JavaScript(ジャバスクリプト)を使用することによって、特定のドメインを規制する事を目的に作成します。
なお、JavaScript(ジャバスクリプト)を使用していますので、あくまでも簡易的な規制と言う事でご理解下さい。
JavaScript(ジャバスクリプト)がOFFまたは、使用できないブラウザからは規制が出来ません。
また、簡単な設置を目的としたソースをしているため、ソースの記述につきましては、改良の余地はあるかと思います。
1.メンテナンスルームにログイン後
2.カスタマイズ「アドバンスモード」に入室します。
3.FORM編集に入室します。
4.投稿フォームの投稿ボタンを変更します。
現在
<input type="submit" VALUE="書き込む" onClick="mmsg();">
と設定されている投稿ボタンを、JAVAスクリプト型に変更し、JavaScript(ジャバスクリプト)未対応のブラウザの方でも、投稿が出来るように設定します。
↓変更
<script type="text/javascript">
<!--
document.write('<INPUT type="button" VALUE="書き込む" onClick="mmsg();">');
-->
</script>
<noscript>
<input type="submit" VALUE="書き込む" onClick="mmsg();">
</noscript>
5.「設定変更」ボタンをクリックして、再度アドバンスモードに戻ります。そして、TOP編集に入室して下さい。
6.編集項目の中にクッキーを記録するJavaScript(ジャバスクリプト)があると思います。<script type="text/javascript">
<!--
function memoryCookie() {
expires = new Date();
expires.setTime(expires.getTime() + 24*60*60*1000*30*3);
document.cookie = "name=" + escape(document.f1.name.value) + "*;expires=" + expires.toGMTString();
document.cookie = "url=" + document.f1.url.value + "*;expires=" + expires.toGMTString();
document.cookie = "mail=" + document.f1.mail.value + "*;expires=" + expires.toGMTString();
}
function mmsg(){
//チェックボックスが選択されていれば、クッキに記憶させます。
if(document.f1.ccheck.checked){
memoryCookie();
}
}
//-->
</script>
下記の通りメールアドレスをチェックするソースを挿入します。
<script type="text/javascript">
<!--
function memoryCookie() {
expires = new Date();
expires.setTime(expires.getTime() + 24*60*60*1000*30*3);
document.cookie = "name=" + escape(document.f1.name.value) + "*;expires=" + expires.toGMTString();
document.cookie = "url=" + document.f1.url.value + "*;expires=" + expires.toGMTString();
document.cookie = "mail=" + document.f1.mail.value + "*;expires=" + expires.toGMTString();
}
function mmsg(){
//チェックボックスが選択されていれば、クッキに記憶させます。
if(document.f1.ccheck.checked){
memoryCookie();
var mailadd = document.f1.mail.value;
var all=0;
ok = mailadd.match("hotmail.com");
all = all + ok;
ok = mailadd.match("msn.com");
all = all + ok;
ok = mailadd.match("yahoo.co.jp");
all = all + ok;
if (all){
alert("フリーメールアドレスは使用できません。");
}else{
document.f1.submit();
}
}
}
//-->
</script>
*赤字箇所の解説は下記にて説明
7.「設定変更」ボタンをクリックし、掲示板にデザインを反映させて完了です。
メールアドレスのチェック機能は、下記の通り複数のメールアドレスをチェック出来ます。
(初期設定欄)
var mailadd = document.f1.mail.value;
var all=0;
(チェック機能)
ok = mailadd.match("ドメイン1");
all = all + ok;
ok = mailadd.match("ドメイン2");
all = all + ok;
ok = mailadd.match("ドメイン3");
all = all + ok;
ok = mailadd.match("ドメイン4");
all = all + ok;
複数のドメインを繰り返し設定することによって、設定を行う事が出来ます。その為、フリーメールアドレスのドメイン名をすべてリスト化する事が必要です。
規制に引っかかった場合は、エラー表示
if (all){
alert("フリーメールアドレスは使用できません。");
}else{
document.f1.submit();
}