Avatar billede jps6kb Novice
16. juli 2004 - 09:12 Der er 30 kommentarer og
1 løsning

Validering og regler for textfelt

Jeg har et textfelt i en formular jeg har sat validering på... så den ikke kan være tom... men jeg vil gerne sætte yderligere regler på... :

- Må ikke starte med et mellemrum.
- Må ikke indeholde specialtegn (<>"_'%)

Nogen der har en løsning på dette ??

Det validering jeg har nu har jeg fra html.dk...


<script type="text/javascript">

function validering()
  {
  error = 0;

  if((document.forms[0].navn.value=='') && (error==0)) 
  {       
    alert('Du skal skrive et navn til tråden!');
    document.forms[0].navn.focus();
    error = 1;       
  }

  if((document.forms[0].besked.value=='') && (error==0)) 
  {       
    alert('Du skal udfylde tekstfeltet!');
    document.forms[0].besked.focus();
    error = 1;       
  }   

  if(error == 0)
  document.forms[0].submit();   
  }

</script>



NB! Kun navn... ikke besked ;)
Avatar billede jaw Nybegynder
16. juli 2004 - 09:13 #1
Nope, javascript gider jeg ikke :) (læs: kan ikke)
Avatar billede jaw Nybegynder
16. juli 2004 - 09:23 #2
Altså som sagt er jeg ikke den store javascript mand, men måske det her vil virke:

if(document.forms[0].navn.value.match("("/\%|\"|\<|\>|\'/")) {
alert('Ok');
}

Du kan jo bare bytte alert() ud hvis det virker, men du kan jo afprøve det...
Avatar billede jps6kb Novice
16. juli 2004 - 09:31 #3
Nej... den har ingen effekt... jeg prøvede med

"test"
  og
hej/hej
Avatar billede expnet Seniormester
16. juli 2004 - 09:36 #4
if ( !document.form.navn.value.match(/^[^\<]?[\w\>]{2,4}$/i) ) {
        alert( 'Du skal srive en navn!!' );
        return false;
    }
Avatar billede jps6kb Novice
16. juli 2004 - 09:41 #5
Nopes... stadig ingenting... de bliver godkendt.
Avatar billede expnet Seniormester
16. juli 2004 - 09:42 #6
må jeg se din kode after
Avatar billede jps6kb Novice
16. juli 2004 - 09:43 #7
<html>
<head>
<link rel="STYLESHEET" type="text/css" href="style.css">
</head>
<body>

<script type="text/javascript">

function validering()
  {
  error = 0;

if ( !document.form.navn.value.match(/^[^\<]?[\w\>]{2,4}$/i) ) {
        alert( 'Du skal srive en navn!!' );
        return false;
    }

  if((document.forms[0].besked.value=='') && (error==0)) 
  {       
    alert('Du skal udfylde tekstfeltet!');
    document.forms[0].besked.focus();
    error = 1;       
  }   

  if(error == 0)
  document.forms[0].submit();   
  }

</script>


<center>
<table class="tbl_main" height="100%" width="50%">
<tr>
  <td valign="top">
<center>
Forum ting - Opret Ny tråd
<br/>
<code>Level 2</code>
</center>
<br/>
<code>Opret ny tråd</code>
<%
Request.ServerVariables("REMOTE_HOST")
%>
<br/><br/>
<form action="strnewtraad.asp" method="post"  onsubmit="validering();return false;">
Overskrift : <input type="text" name="navn"><br/>
Tekst : <textarea name="besked"></textarea><br/>
<input type="submit">
<input type="hidden" name="gruppenr" value="<% = request.querystring ("gruppenr")%>">
<input type="hidden" name="bruger" value="K. Bang">
<input type="hidden" name="ip" value="0.0.0.0">
<br/>
<font color="#c0c0c0">
<br/>

  </td>
</tr>
</table>

</center>

</body>
</html>
Avatar billede expnet Seniormester
16. juli 2004 - 09:50 #8
<html>
<head>
<link rel="STYLESHEET" type="text/css" href="style.css">
</head>
<body>

<script type="text/javascript">

function validering()
  {
  error = 0;

if ( !document.form.navn.value.match(/^[^\<]?[\w\>]{2,4}$/i) && (error==0)) {
        alert( 'Du skal srive en navn!!' );
        return false;
    }

  if((document.form.besked.value=='') && (error==0)) 
  {       
    alert('Du skal udfylde tekstfeltet!');
    document.form.besked.focus();
    error = 1;       
  }   

  if(error == 0)
  document.form.submit();   
  }

</script>


<center>
<table class="tbl_main" height="100%" width="50%">
<tr>
  <td valign="top">
<center>
Forum ting - Opret Ny tråd
<br/>
<code>Level 2</code>
</center>
<br/>
<code>Opret ny tråd</code>
<%
Request.ServerVariables("REMOTE_HOST")
%>
<br/><br/>
<form name="form" action="strnewtraad.asp" method="post"  onsubmit="validering();return false;">
Overskrift : <input type="text" name="navn"><br/>
Tekst : <textarea name="besked"></textarea><br/>
<input type="submit" value="send">
<input type="hidden" name="gruppenr" value="<% = request.querystring ("gruppenr")%>">
<input type="hidden" name="bruger" value="K. Bang">
<input type="hidden" name="ip" value="0.0.0.0">
<br/>
<font color="#c0c0c0">
<br/>

  </td>
</tr>
</table>

</center>

</body>
</html>
Avatar billede jaw Nybegynder
16. juli 2004 - 09:53 #9
Nu har jeg også prøvet igen, og fået succes med det her:

<script type="text/javascript">

function validering(f)
  {
  error = 0;


    if(f.navn.value.match("%|<|>|_|\"|\'")) {
    alert('Fejl i navn !');
    return false;
    }
    return true;
    }

   
</script>
<form action="index.htm" onSubmit="return validering(this)">
<input type="text" name="navn">
<input type="submit" value="ha">
</form>

Men at lave det om til præcis din kode må du selv, det virker i hvert fald sådan :)
Avatar billede expnet Seniormester
16. juli 2004 - 09:57 #10
her få jeg af vide at jeg skal have et af de tegn for at kan submit det kunne da være modsat ???
Avatar billede jaw Nybegynder
16. juli 2004 - 10:01 #11
Var det henvendt til mig? For forstod det ikke... Ovenstående vil alerte hvis det indeholder et af de tegn...
Avatar billede jps6kb Novice
16. juli 2004 - 10:03 #12
expnet -> Det virker med tegnene... men ikke med mellemrummet ...
Avatar billede expnet Seniormester
16. juli 2004 - 10:04 #13
jaw -> jeg få ikke alert frem hvis jeg skriver et af de tegn "<>_/" men hvis jeg bare skriver min mit så kommer den
Avatar billede jaw Nybegynder
16. juli 2004 - 10:05 #14
hmmm, det gør jeg nu ikke, men lad den bare ligge...
Avatar billede jps6kb Novice
16. juli 2004 - 10:22 #15
Kan du klare mellemrummet ? ;)

Det er fordi indholdet af tekstfeltet smides i et database og skal kaldes frem bagefter ,emn hvis det starter med mellemrum kan jeg ikke bruge den som variable... den bliver blank. Ikke monster optimalt hvis I spø'r mig...
Avatar billede jps6kb Novice
16. juli 2004 - 12:04 #16
No one ? eller kan man ikke det ?
Avatar billede expnet Seniormester
16. juli 2004 - 12:09 #17
jeg er ikke den beste til javascript så håber der er andre men kigger på det
Avatar billede jaw Nybegynder
16. juli 2004 - 12:13 #18
Hvad mener du med at det ikke er en variabel hvis den starter med <mellemrum> ?
Avatar billede jps6kb Novice
16. juli 2004 - 12:14 #19
Jeg mener... at det første tegn i textfeltet ikke må være et mellemrum... man må ikke starte med at skrive ex.

Trådenavn
^---[mellemrum]---

men gerne

Trådnavn...
Avatar billede jps6kb Novice
16. juli 2004 - 12:15 #20
Okay... det blev så ikke lige vist... hehe... men håber du er med på hvad jeg mener...
Avatar billede jaw Nybegynder
16. juli 2004 - 12:20 #21
Nej, jeg forstår dig ikke... Jeg ved ikke hvad du mener med at du ikke kan bruge den som variabel efter den har været i databasen. Hvordan henter du det ud af databasen?
Avatar billede jps6kb Novice
16. juli 2004 - 12:48 #22
Nevermind... jeg tror det var min fejl :)

Men det andet virker fint... expnet, jeg brugte din, så du får pts... om du smider et svar givetvis :)
Avatar billede grunken Nybegynder
16. juli 2004 - 12:53 #23
match(/^[a-z]+[\w]+$/i)

:o)
Avatar billede jps6kb Novice
16. juli 2004 - 13:33 #24
Ehh... expnet -> Navn-feltet kan kun være 5 tegn ?? Kan du ikke ændre det ?? *G*
Avatar billede jps6kb Novice
16. juli 2004 - 13:34 #25
Og alle mellemrum er bandlyst ? Jeg var lidt hurtig til at godkende ... *S*
Avatar billede grunken Nybegynder
16. juli 2004 - 14:11 #26
Okay, fortæl folket hvad du ønsker ?

Ingen tal,ingen specialtegn,ingen mellemrum?

/^[a-z]+$/i
Avatar billede roenving Novice
16. juli 2004 - 14:35 #27
<html>
<head>
<link rel="STYLESHEET" type="text/css" href="style.css">
</head>
<body>

<script type="text/javascript">

function validering(f){
  if (!/^[a-záàãââæåçéèêëìíîïñòóôõöøùúûüýÿ]+$/i.test(f.navn.value){
    alert( 'Du skal skrive et navn til tråden!' );
    return false;
  }

  if(!/^[a-záàãââæåçéèêëìíîïñòóôõöøùúûüýÿ]+/i.test(f.besked.value)){       
    alert('Du skal udfylde tekstfeltet!');
    f.besked.focus();
    return false;
  }   
  return true;
}
</script>


<center>
<table class="tbl_main" height="100%" width="50%">
<tr>
  <td valign="top">
<center>
Forum ting - Opret Ny tråd
<br/>
<code>Level 2</code>
</center>
<br/>
<code>Opret ny tråd</code>
<%
Request.ServerVariables("REMOTE_HOST")
%>
<br/><br/>
<form action="strnewtraad.asp" method="post"  onsubmit="return validering();">
Overskrift : <input type="text" name="navn"><br/>
Tekst : <textarea name="besked"></textarea><br/>
<input type="submit">
<input type="hidden" name="gruppenr" value="<% = request.querystring ("gruppenr")%>">
<input type="hidden" name="bruger" value="K. Bang">
<input type="hidden" name="ip" value="0.0.0.0">
<br/>
<font color="#c0c0c0">
<br/>

  </td>
</tr>
</table>

</center>

</body>
</html>
Avatar billede roenving Novice
16. juli 2004 - 14:36 #28
Hov, der mangler en parantes:

  if (!/^[a-záàãââæåçéèêëìíîïñòóôõöøùúûüýÿ]+$/i.test(f.navn.value)){
Avatar billede jps6kb Novice
12. august 2006 - 10:08 #29
roen - smider du et svar? :)
Avatar billede roenving Novice
15. august 2006 - 13:40 #30
Vi kan vel dele ?-)

Velbekomme '-)
Avatar billede roenving Novice
05. oktober 2006 - 04:05 #31
Tak for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester