アプリ版:「スタンプのみでお礼する」機能のリリースについて

運営しているサイトに設置したコメントフォームからスパムがたくさん送信されてきます。
その対策として、「氏名のよみがな」入力欄が半角英数字のみの入力の場合にはアラートを出して投稿できないようにしたいです。

下記のようなJSを使用していますが、

if (!kana) {
alert('氏名のよみがなを入力してください。');
return false;
}

の部分を変更して「半角英数字しか入力されていない場合、アラートを返す」ようにするには、どうしたら良いでしょうか?

htmlの文字コードはShift_JISです。

よろしくお願いします。



function postComment {
var name = eval('document.name.value');
var kana = eval('document.kana.value');
var email = eval('document.email.value');
var comment = eval('document.comment.value');

sum++;

if (!name) {
alert('氏名を入力してください。');
return false;
}
else {
if (!kana) {
alert('氏名のよみがなを入力してください。');
return false;
}
else {
if (!email) {
alert('メールアドレスを入力してください。');
return false;
}
else {
if (!comment) {
alert('コメントを入力してください。');
return false;
}
else {
var confirm_text = '以下の内容で送信します\n' + 氏名:' + name + '\n よみがな:' + kana + '\n メール:' + email + '\n 本文:' + comment;
if (!confirm(confirm_text)) {
return false;
}
else {
alert('コメントを送信しました。');
}
}
}
}
}
}

A 回答 (2件)

kanaの値をチェックするならこんな感じになりますがわかりますか?



<script>
function check(){
var kana=document.getElementById("kana");
var flg=true;
if(kana.value.match(/^[0-9a-z]*$/i)) flg=false;
alert(flg);
}
</script>
<input type="text" name="kana" id="kana">
<input type="button" value="check" onclick="check()">
    • good
    • 0
この回答へのお礼

functionを分ける(?)のがわからなかったので、
いただいた回答を参考に、

if (!kana) {
alert('氏名のよみがなを入力してください。');
return false;
}



if (kana.match(/^[0-9a-z]*$/i)) {
alert('氏名のよみがなを入力してください。');
return false;
}

これでいけました!
どうもありがとうございました!

お礼日時:2009/03/05 02:13

ググってサンプルも見つけました。

5秒も掛かってません。
http://www.kanaya440.com/contents/tips/javascrip …
コードを清書しろっていうなら私はパスで。
    • good
    • 0
この回答へのお礼

教えていただいたURLの内容は、初心者の私には少し難しいみたいです。
それなりに検索はしていたのですが、そのまま現行のコードに応用できる形で探していたので・・
すみません。ありがとうございました。

お礼日時:2009/03/05 00:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!