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? 
