2011-07-09 15 views
2

私はユーザーにeメッセージを送信させるスクリプトを持っています。しかし、私はいくつかのユーザーが特定の世界を投稿するのを制限したいと思っています。その言葉が使われると、フォームは提出できません(偽を返します)、アラートが出力されます。jQueryを使用して特定の単語を検索しますか?

jQueryでどのように単語チェックを行うのですか?

例:

1)ブロックされることが望ま世界:ピザ

2)ユーザーがテキストエリアにこの言葉を置く

3)ユーザー・ヒットが提出したが、彼は横に、この言葉を使用彼の他の言葉は提出しません

jQueryはこれを行うことはできませんが、JavaScriptの場合は、私はまた、Javascriptのソリューションを歓迎したいと思います。

+3

ピザワールド?私はそこに住みたい! – mpen

答えて

2

送信ボタンが押されたときに、概念的に、あなたはテキストエリアの内容になるだろう。あなたはピザという単語(単純な正規表現)を検索し、それを見つけたら、ある時間(あなたがどれくらいの時間を決めているか)判断することを禁止するクッキーを設定します。次に、送信ボタンでCookieが存在するかどうかを確認し、存在する場合は送信機能を禁止します。これは、jQueryまたは純粋なjavascript /ブラウザで行うことができます。これは個人的な好みです。ここで

は、コードの小さな作品です:

var o = document.getElementById("myTextArea"); 
if (o.value.search(/\bPizza\b/i) != -1) { 
    alert("Pizza not allowed"); 
    // set cookie preventing future access 
} 
-1

あなたはあなたが先にすべてのキーワードを知っていれば、あなただけのJavaScriptオブジェクトでそれらに格納し、ロジックを記述することができ、次の

を行う必要があります。

1)あなたはすべて、すでにいくつかのデータベースで検索キーワードやそう

2)jqueryのを使用した」AJAXを保存し、そのデータベースへの要求を作成し、それがすでに存在しているかどうかを確認する必要があります。

http://api.jquery.com/jQuery.ajax/

3)Ajaxがその中にあなたがフォームに配置されたバックテキスト文字列を取り、上のindexOfを行う

$.ajax({ 
    url: "test.aspx", 
    success: function(){ 
    // this tells you if it exists or not , the alert the user 
    } 
}); 
1

を何をしたいのかを決めることができ、バック成功コールを持っていますそれ。

http://www.w3schools.com/jsref/jsref_indexof.asp

var str = "My pizza is better than yours. Dang right it's better than yours" 
if str.indexOf("pizza") > -1 
    // do something cool 
else 
    // do something different 
+2

http://w3fools.com/ – stecb

+2

代わりにこのドキュメントを参照してください:https://developer.mozilla.org/ja/JavaScript/Reference/Global_Objects/String/indexOf(w3schoolsではなく)。 –

+0

Truです。私はw3schoolsにリンクすることをお詫びします。それがどれくらいの悪い印象を持っているのか分からなかった。 – WattsInABox

1

ここでは完全な例です:

<html> 
<head> 
<title>Example Form</title> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> 
<script type="text/javascript"> 
function checkForm() { 
    var text = document.test_form.word.value; 
    if (text.indexOf("Pizza") > -1) { 
     alert("error"); 
     return false; 
    } 
    return true; 
} 

</script> 
</head> 
<body> 
<form action="blah.cgi" name="test_form" onSubmit="return checkForm()"> 
<input id="mytext" type="text" name="word" /> 
<input type="submit" value="Submit" /> 
</form> 

<body> 
</html> 

基本的には、どのようなここで起こっていることは、フォームが送信されたとき、それはjavascript関数のcheckFormを呼び出すことですテキストにピザという単語が含まれているかどうかをチェックし(現時点で大文字になります)、そうであればfalseを返します。これにより、フォームの送信が妨げられます。

関連する問題