我想知道如何能够将某些单词列入黑名单,使其不被输入到我的表单中。具体地说,是用户名字段。我不确定是否需要访问PHP/JS文件,但我对这些文件的访问权限是有限的。
<pre>
<div class="form-group">
<label for="username" class="control-label">{{ lang('signup.username') }}</label>
<input type="text" class="form-control" id="username" value="{{ data['login'] }}" name="RegistrationForm[login]" placeholder="Enter username">
'===
</div> {% if name_fields %}发布于 2019-04-07 21:33:53
您可以使用pattern属性。不过,建议您也处理此服务器端!
<form>
<input type="text" pattern="^((?!word1)(?!word2).)*$">
<button type="submit">Submit
</form>发布于 2019-04-07 21:32:46
欢迎来到Stack Overflow!我为你做了一点谷歌搜索,我认为你正在寻找的是一个糟糕的单词过滤器-这是一个示例https://codepen.io/mcfan/pen/xVVNwy -这个示例基于一个包含你不想允许的单词的数组,并在提交时检查该数组。
// Enter the words to be filtered in the line below:
var swear_words_arr=new Array("bloody","war","terror");
var swear_alert_arr=new Array;
var swear_alert_count=0;
function reset_alert_count()
{
swear_alert_count=0;
}
function validate_text()
{
reset_alert_count();
var compare_text=document.form1.text.value;
for(var i=0; i<swear_words_arr.length; i++)
{
for(var j=0; j<(compare_text.length); j++)
{
if(swear_words_arr[i]==compare_text.substring(j,(j+swear_words_arr[i].length)).toLowerCase())
{
swear_alert_arr[swear_alert_count]=compare_text.substring(j,(j+swear_words_arr[i].length));
swear_alert_count++;
}
}
}
var alert_text="";
for(var k=1; k<=swear_alert_count; k++)
{
alert_text+="\n" + "(" + k + ") " + swear_alert_arr[k-1];
}
if(swear_alert_count>0)
{
alert("The message will not be sent!!!\nThe following illegal words were found:\n_______________________________\n" + alert_text + "\n_______________________________");
document.form1.text.select();
}
else
{
document.form1.submit();
}
}
function select_area()
{
document.form1.text.select();
}
window.onload=reset_alert_count;当然,您可以将其更改为keyup / keydown事件,但这应该可以让您开始使用它。
致谢@mcfan - Codepen
https://stackoverflow.com/questions/55558157
复制相似问题