tekens verbieden

Praat mee over van alles en nog wat!
Forumregels
Dit forum is voor alle zinnige gesprekken buiten phpBB om. Discussies en gesprekken over interessante onderwerpen.

Een nieuw onderwerp moet..:
  • uiteraard voldoen aan de algemene voorwaarden
  • niet passen in de gewone supportfora
  • interessante zijn voor het overgrote deel van onze gebruikers
  • een neutrale of positieve ondertoon hebben
  • anders zijn dan bestaande onderwerpen
Plaats reactie
sukkelaap
Berichten: 1345
Lid geworden op: 03 dec 2003, 19:09
Locatie: Zeist

tekens verbieden

Bericht door sukkelaap » 10 dec 2004, 20:03

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

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 10 dec 2004, 20:05

Met een JavaScript is dit mogelijk denk ik..

sukkelaap
Berichten: 1345
Lid geworden op: 03 dec 2003, 19:09
Locatie: Zeist

Bericht door sukkelaap » 10 dec 2004, 20:17

geloof ook dat ze dat op mijninfo gebruiken maar hoe weet ik nie

sukkelaap
Berichten: 1345
Lid geworden op: 03 dec 2003, 19:09
Locatie: Zeist

Bericht door sukkelaap » 11 dec 2004, 23:20

kent iemand hier teken voor?

Gebruikersavatar
Bee
Berichten: 13403
Lid geworden op: 29 aug 2004, 10:30

Bericht door Bee » 12 dec 2004, 09:21

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

Code: Selecteer alles

onsubmit="return FrontPage_Form1_Validator(this)
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
... Maar ik modereer (nog) niet.

sukkelaap
Berichten: 1345
Lid geworden op: 03 dec 2003, 19:09
Locatie: Zeist

Bericht door sukkelaap » 12 dec 2004, 16:30

maar controleerd die dit achteraf? Want eerst hadden ze gewoon zodra je de toets # deed zette die gewoon niks neer.

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 12 dec 2004, 19:16

Kan je onsubmit niet veranderen in onchange? Ik zeg maar wat.. :)

sukkelaap
Berichten: 1345
Lid geworden op: 03 dec 2003, 19:09
Locatie: Zeist

Bericht door sukkelaap » 12 dec 2004, 21:43

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.

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 12 dec 2004, 23:02

Zoals bee zei moet je het je een beetje verbouwen.

sukkelaap
Berichten: 1345
Lid geworden op: 03 dec 2003, 19:09
Locatie: Zeist

Bericht door sukkelaap » 14 dec 2004, 20:22

jah ik heb al wat anders gedaan ;)

Gebruikersavatar
Bas
Berichten: 2741
Lid geworden op: 02 dec 2003, 17:38
Locatie: Omgeving Goslar (Duitsland)
Contacteer:

Bericht door Bas » 15 dec 2004, 07:29

Een str_replace zeker? :wink:

Plaats reactie