我有一个脚本,让我们的用户提交电子邮件。但是我想限制一些用户发布一个特定的世界,一旦这个词被使用,表单就不能被提交(返回false;)并且会输出一个警报。使用jQuery搜索特定单词?
那么我该如何在jQuery中进行单词检查?
实施例:
1)期望世界被阻断:披萨
2)用户将这个词在textarea的
3)用户点击提交,但他旁边用这个词他的其他词语如此形式不提交
如果jQuery不能这样做,但Javascript可以,那么我也欢迎一个Javascript解决方案。
我有一个脚本,让我们的用户提交电子邮件。但是我想限制一些用户发布一个特定的世界,一旦这个词被使用,表单就不能被提交(返回false;)并且会输出一个警报。使用jQuery搜索特定单词?
那么我该如何在jQuery中进行单词检查?
实施例:
1)期望世界被阻断:披萨
2)用户将这个词在textarea的
3)用户点击提交,但他旁边用这个词他的其他词语如此形式不提交
如果jQuery不能这样做,但Javascript可以,那么我也欢迎一个Javascript解决方案。
概念上,当按下提交按钮时,你会得到textarea的内容。你会搜索它的词比萨饼(一个简单的正则表达式),然后如果你找到它,你会设置一个cookie,禁止他们提交一段时间(你决定一段时间)。然后,在提交按钮上,您将检查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
}
你应该做到以下几点
,如果你提前知道所有的关键词,你可以在它们存储在一个javascript对象和写入的逻辑。
1)你应该已经存储在搜索一些数据库中的所有关键字或使
2)使用jQuery” Ajax和让与该数据库的请求,并检查它是否已经存在。
http://api.jquery.com/jQuery.ajax/
3)阿贾克斯成功回调,因为你可以决定你想要做
$.ajax({
url: "test.aspx",
success: function(){
// this tells you if it exists or not , the alert the user
}
});
以文本字符串返回,它被放置在形式和执行的indexOf什么它。
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
http://w3fools.com/ – stecb
请参阅本文档:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/indexOf(而不是w3schools)。 –
Tru那。我很抱歉连接到w3schools。没有意识到它有一个代表有多糟糕。 – WattsInABox
这里有一个完整的例子:
<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,从而阻止提交表单。
比萨世界?我想住在那里! – mpen