Pagina 1 van 1
tekens verbieden
Geplaatst: 10 dec 2004, 20:03
door sukkelaap
Hoe kun je bepaalde tekens verbieden op het schrijven in een tekstvak. Niet dat die achteraf met een melding komt maar dat die het meeten niet schrijft. dit hebben ze namelijk op
http://www.mijninfo.nl
Als je daar bij een ' wil typen noteerd die die gewoon niet
Geplaatst: 10 dec 2004, 20:05
door ElbertF
Met een JavaScript is dit mogelijk denk ik..
Geplaatst: 10 dec 2004, 20:17
door sukkelaap
geloof ook dat ze dat op mijninfo gebruiken maar hoe weet ik nie
Geplaatst: 11 dec 2004, 23:20
door sukkelaap
kent iemand hier teken voor?
Geplaatst: 12 dec 2004, 09:21
door Bee
Ze gebruiken een heel lang javascript. Ik zal het hier neerzetten, maar je moet het wel aanpassen natuurlijk:
Code: Selecteer alles
<script Language="JavaScript"><!--
function FrontPage_Form1_Validator(theForm)
{
if (theForm.login.value == "")
{
alert("Geef een waarde voor het veld Profielnaam op.");
theForm.login.focus();
return (false);
}
if (theForm.login.value.length < 2)
{
alert("Geef ten minste 2 tekens in het veld Profielnaam op.");
theForm.login.focus();
return (false);
}
if (theForm.login.value.length > 12)
{
alert("Geef maximaal 12 tekens op in het veld Profielnaam.");
theForm.login.focus();
return (false);
}
var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ0123456789-";
var checkStr = theForm.login.value;
var allValid = true;
for (i = 0; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length)
{
allValid = false;
break;
}
}
if (!allValid)
{
alert("Geef slechts letter en cijfer tekens op in het veld Profielnaam.");
theForm.login.focus();
return (false);
}
if (theForm.password1.value == "")
{
alert("Geef een waarde voor het veld Eerste password op.");
theForm.password1.focus();
return (false);
}
if (theForm.password1.value.length < 6)
{
alert("Geef ten minste 6 tekens in het veld Eerste password op.");
theForm.password1.focus();
return (false);
}
if (theForm.password1.value.length > 12)
{
alert("Geef maximaal 12 tekens op in het veld Eerste password.");
theForm.password1.focus();
return (false);
}
var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ0123456789-";
var checkStr = theForm.password1.value;
var allValid = true;
for (i = 0; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length)
{
allValid = false;
break;
}
}
if (!allValid)
{
alert("Geef slechts letter en cijfer tekens op in het veld Eerste password.");
theForm.password1.focus();
return (false);
}
if (theForm.password2.value == "")
{
alert("Geef een waarde voor het veld Tweede password op.");
theForm.password2.focus();
return (false);
}
if (theForm.password2.value.length < 6)
{
alert("Geef ten minste 6 tekens in het veld Tweede password op.");
theForm.password2.focus();
return (false);
}
if (theForm.password2.value.length > 12)
{
alert("Geef maximaal 12 tekens op in het veld Tweede password.");
theForm.password2.focus();
return (false);
}
var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ0123456789-";
var checkStr = theForm.password2.value;
var allValid = true;
for (i = 0; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length)
{
allValid = false;
break;
}
}
if (!allValid)
{
alert("Geef slechts letter en cijfer tekens op in het veld Tweede password.");
theForm.password2.focus();
return (false);
}
if (theForm.email.value == "")
{
alert("Geef een waarde voor het veld Emailadres op.");
theForm.email.focus();
return (false);
}
if (theForm.email.value.length < 4)
{
alert("Geef ten minste 4 tekens in het veld Emailadres op.");
theForm.email.focus();
return (false);
}
if (theForm.email.value.length > 80)
{
alert("Geef maximaal 80 tekens op in het veld Emailadres.");
theForm.email.focus();
return (false);
}
if (theForm.naam.value == "")
{
alert("Geef een waarde voor het veld Naam op.");
theForm.naam.focus();
return (false);
}
if (theForm.naam.value.length < 2)
{
alert("Geef ten minste 2 tekens in het veld Naam op.");
theForm.naam.focus();
return (false);
}
if (theForm.naam.value.length > 80)
{
alert("Geef maximaal 80 tekens op in het veld Naam.");
theForm.naam.focus();
return (false);
}
return (true);
}
//--></script>
Daarna roep je het aan in de FORM tag met deze code
Die pagina is trouwens besmeurd met Webbot en Frontpage attributen (en er is geen serverside ondersteuning lijkt het), dus lukraak kopieeren gaat voor de rest moeilijk
Geplaatst: 12 dec 2004, 16:30
door sukkelaap
maar controleerd die dit achteraf? Want eerst hadden ze gewoon zodra je de toets # deed zette die gewoon niks neer.
Geplaatst: 12 dec 2004, 19:16
door ElbertF
Kan je onsubmit niet veranderen in onchange? Ik zeg maar wat..

Geplaatst: 12 dec 2004, 21:43
door sukkelaap
maargoed ik vind dit script nou niet zo handig in elkaar steken.
Is er niet wat anders te bouwen? Het gaat zo in zijn werk:
ik heb een form en als je op ok drukt gaat die naar een .php pagina die de gegevens in de database opslaat.
Is er in dat .php bestandje niet een snelle check te bouwen die tekens zoals ' en " en < en > verbied?
Zoiets zit ook op het registreren van ej gebruikersnaam maar dat vind ik erg ingewikkeld en is vanalles omheen gebouwd. dus kan je ook niet ene kleine check maken die een foutmelding kan geven bv.
Geplaatst: 12 dec 2004, 23:02
door ElbertF
Zoals bee zei moet je het je een beetje verbouwen.
Geplaatst: 14 dec 2004, 20:22
door sukkelaap
jah ik heb al wat anders gedaan

Geplaatst: 15 dec 2004, 07:29
door Bas
Een str_replace zeker?
