Hi!
Ik run een datingsite waar nogal eens leden zich inschrijven met behoorlijk grof taalgebruik.(die moet ik steeds aanmanen dit te veranderen en dat is veel werk.)
Nu heb ik (eindelijk) een javascript scheldwoordenfilter gevonden die werkt in mijn .tpl signup pagina..
Het enige (grote) probleem is dat het script alle gevonden woorden (dus ook delen ervan) filtert
m.a.w. als ik in de var swear_words_arr=new Array list het woord "lamp" opgeef dan filter de functie ook "lampion"
Ik heb mezelf al een slag in de ronte gezocht maar kan niet vinden wat ik moet veranderen in de code
zodat hij niet delen van woorden ook filtert..
Weet iemand wat te veranderen?
Help wordt zeer op prijs gesteld!
mvg
Jardin
Ik run een datingsite waar nogal eens leden zich inschrijven met behoorlijk grof taalgebruik.(die moet ik steeds aanmanen dit te veranderen en dat is veel werk.)
Nu heb ik (eindelijk) een javascript scheldwoordenfilter gevonden die werkt in mijn .tpl signup pagina..
Het enige (grote) probleem is dat het script alle gevonden woorden (dus ook delen ervan) filtert
m.a.w. als ik in de var swear_words_arr=new Array list het woord "lamp" opgeef dan filter de functie ook "lampion"
Ik heb mezelf al een slag in de ronte gezocht maar kan niet vinden wat ik moet veranderen in de code
zodat hij niet delen van woorden ook filtert..
Code:
<script type="text/javascript">
var swear_words_arr=new Array("lamp",enz enz);
var swear_alert_arr=new Array();
var swear_alert_count=0;
function reset_alert_count()
{
swear_alert_count=0;
}
function wordFilter(form,fields)
{
reset_alert_count();
var compare_text;
var fieldErrArr=new Array();
var fieldErrIndex=0;
for(var i=0; i<fields.length; i++)
{
eval('compare_text=document.' + form + '.' + fields[i] + '.value;');
for(var j=0; j<swear_words_arr.length; j++)
{
for(var k=0; k<(compare_text.length); k++)
{
if(swear_words_arr[j]==compare_text.substring(k,(k+swear_words_arr[j].length)).toLowerCase())
{
swear_alert_arr[swear_alert_count]=compare_text.substring(k,(k+swear_words_arr[j].length));
swear_alert_count++;
fieldErrArr[fieldErrIndex]=i;
fieldErrIndex++;
}
}
}
}
var alert_text="";
for(var k=1; k<=swear_alert_count; k++)
{
alert_text+="\\n" + "(" + k + ") " + swear_alert_arr[k-1];
eval('compare_text=document.' + form + '.' + fields[fieldErrArr[0]] + '.focus();');
eval('compare_text=document.' + form + '.' + fields[fieldErrArr[0]] + '.select();');
}
if(swear_alert_count>0)
{
alert("Er is een fout gevonden!.\\nDe volgende woorden mogen niet gebruikt worden:\\n_______________________________\\n" + alert_text + "\\n_______________________________");
return false;
}
else
{
return true;
}
}
</script>
Help wordt zeer op prijs gesteld!
mvg
Jardin