Web サイトから受信するスパムの連絡先メールを取り除こうとしています。
1 行に 1 つずつ禁止語のリストがあります。ここで、禁止された単語のいずれかがフォーム入力に存在し、フォームの送信を妨げる場合にアラートを表示できるものを実装したいと考えています。どうやってやるの?
これが私が試したコードですが、失敗しました。行ごとに単語またはフレーズを入力データと一致させる方法がわかりません。
HTML
<form method="post" action="/sendmessage.php">
<input type="text" id="name" name="name" />
<input type="text" id="email" name="email" />
<input type="text" id="subject" name="subject" />
<input type="textarea" id="message" name="message" />
<input type="submit" id="submit" name="submit" value="Send Message" />
</form>
JavaScript
<script type="text/javascript">
$(function() {
$("#submit").on("click",function() {
var name = $("input:text[name='name']").val();
var email = $("input:text[name='email']").val();
var subject = $("input:text[name='subject']").val();
var message = $("input#message").val();
var badwords = (abc // first bad word, followed by a carriage return
bcd // second bad word, followed by a carriage return
cdf // third bad word, followed by a carriage return
...
the bad phrase // bad phrase, followed by a carriage return
another bad phrase // another bad phrase, followed by a carriage return
...
xyz
);
/* I am not sure what to do from now on */
if (name || email || subject || message ) {
alert("Your Message Contains Bad Words, Please Remove Them Before Proceeding");
return false;
}
/* I am not sure what to do */
});
});
</script>
助けてください