Avatar billede parazite Nybegynder
11. november 2000 - 12:46 Der er 14 kommentarer og
1 løsning

Validering af form

Vi har denne form, der skal valideres:

<form name=\"opretForm\">
  <tr>
    <td width=\"260\" valign=\"middle\" bgcolor=\"#F2F4F4\">
    <font color=\"#000000\">Brugernavn :</font>
    </td>
    <td width=\"210\" valign=\"top\" bgcolor=\"#F2F4F4\">
    <font color=\"#000000\"><input type=\"text\" name=\"nick\" size=\"19\">
    </td>
  </tr>
  <tr>
    <td width=\"260\" bgcolor=\"#F2F4F4\">
      <font color=\"#000000\">Password :</font>
    </td>
    <td width=\"210\" bgcolor=\"#F2F4F4\">
      <font color=\"#000000\"><input type=\"text\" name=\"password\" size=\"19\">
    </td>
  </tr>
  <tr>
    <td width=\"260\" valign=\"middle\" bgcolor=\"#F2F4F4\">
      <font color=\"#000000\">Password gentag :</font>
    </td>
    <td width=\"210\" valign=\"top\" bgcolor=\"#F2F4F4\">
      <font color=\"#000000\"><input type=\"text\" name=\"passwordGentag\" size=\"19\">
    </td>
  </tr>
  <tr>
    <td width=\"260\" bgcolor=\"#F2F4F4\">
      <font face=\"Verdana\" size=\"2\" color=\"#000000\">E-mail adresse : *</font>
    </td>
    <td width=\"210\" bgcolor=\"#F2F4F4\">
    <font color=\"#000000\"><input type=\"text\" name=\"e-mail\" size=\"19\">
    </td>
  </tr>
  <tr>
    <td width=\"260\" bgcolor=\"#F2F4F4\">
    <font face=\"Verdana\" size=\"2\" color=\"#000000\">Alder :</font>
    </td>
    <td width=\"210\" bgcolor=\"#F2F4F4\">
    <select name=\"alder\" size=\"1\">
      <option selected>Alder</option>
    <option>12</option>
    <option>13</option>
    <option>14</option>
    <option>15</option>
    <option>16</option>
    <option>17</option>
    <option>18</option>
    <option>19</option>
    <option>20</option>
    <option>21</option>
    <option>22</option>
    <option>23</option>
    <option>24</option>
    <option>25</option>
    <option>26</option>
    <option>27</option>
    <option>28</option>
    <option>29</option>
    <option>30</option>
    <option>31</option>
    <option>32</option>
    <option>33</option>
    <option>34</option>
    <option>35</option>
    <option>36</option>
    <option>37</option>
    <option>38</option>
    <option>39</option>
    <option>40</option>
    <option>41</option>
    <option>42</option>
    <option>43</option>
    <option>44</option>
    <option>45</option>
    <option>46</option>
    <option>47</option>
    <option>48</option>
    <option>49</option>
    <option>50</option>
    <option>51</option>
    <option>52</option>
    <option>53</option>
    <option>54</option>
    <option>55</option>
    <option>56</option>
    <option>57</option>
    <option>58</option>
    <option>59</option>
    <option>60</option>
    <option>61</option>
    <option>62</option>
    <option>63</option>
    <option>64</option>
    <option>65</option>
    <option>66</option>
    <option>67</option>
    <option>68</option>
    <option>69</option>
    <option>70</option>
    <option>71</option>
    <option>72</option>
    <option>73</option>
    <option>74</option>
    <option>75</option>
    <option>76</option>
    <option>77</option>
    <option>78</option>
    <option>79</option>
    <option>80</option>
    <option>81</option>
    <option>82</option>
    <option>83</option>
    <option>84</option>
    <option>85</option>
    <option>86</option>
    <option>87</option>
    <option>88</option>
    <option>89</option>
    <option>90</option>
    <option>91</option>
    <option>92</option>
    <option>93</option>
    <option>94</option>
    <option>95</option>
    <option>96</option>
    <option>97</option>
    <option>98</option>
    <option>99</option>
    </td>
  </tr>
  <tr>
    <td width=\"260\" valign=\"middle\" bgcolor=\"#F2F4F4\">
    <font face=\"Verdana\" size=\"2\" color=\"#000000\">Landsdel :</font>
    </td>
    <td width=\"210\" valign=\"top\" bgcolor=\"#F2F4F4\">
    <select name=\"region\" size=\"1\">
    <option selected>Vælg område</option>
    <option>Københavnsområdet</option>
    <option>Øvrige Sjælland</option>
    <option>Odensesområdet</option>
    <option>Øvrige Fyn</option>
    <option>Ålborgsområdet</option>
    <option>Øvrige Nordjylland</option>
    <option>Århusområdet</option>
    <option>Øvrige Midtjylland</option>
    <option>Sønderjylland</option>
    <option>Øvrige mindre øer</option>
    <option>Andre steder</option>
    </select></font></td>
  </tr>
  <tr>
    <td width=\"260\" valign=\"middle\" bgcolor=\"#F2F4F4\">
    &nbsp;
    </td>
    <td width=\"210\" valign=\"top\" bgcolor=\"#F2F4F4\">
    <input type=\"submit\" value=\"Opret\">
    </td>
  </tr>
</form>

Hvis \"nick\" ikke er mellem 1-30 tegn return =(alert) : \"Dit brugernavn skal være mellem 1-30 tegn - prøv venligst igen\"

Hvis \"nick\" indeholder andre tegn end  abcdefghihjklmnopqrstuvwxyzæøå1234567890-_ return =(alert) : \"Dit brugernavn indeholder ugyldige tegn! Du kan kun benytte følgende bogstaver : abcdefghihjklmnopqrstuvwxyzæøå1234567890-_ - prøv venligst igen\"

Hvis \"password\" ikke er mellem 4-30 tegn return =(alert) : \"Dit password skal være mellem 4-30 tegn - prøv venligst igen\"

Hvis \"passwordGentag\" ikke er det samme som \"password\" return =(alert) : \"Passwordet er ikke det samme i begge felter - prøv venligst igen\"

Hvis \"password\" er det samme som \"nick\" return =(alert) : \"Du har valgt samme password som dit brugernavn, hvilket er nemt for andre at gætte. For din sikkerheds skyld tillader vi det ikke - prøv venligst igen\"

Hvis \"e-mail\" ikke indeholder @ return =(alert) : \"Din valgte email adresse er ugyldig - prøv venligst igen\"

Hvis \"e-mail\" indeholder andre tegn end abcdefghihjklmnopqrstuvwxyzæøå1234567890-_. return =(alert) : \"Din valgte email adresse er ugyldig - prøv venligst igen\"

100 point til et fungerende svar! :o)

- Parazite
Avatar billede stringbuffer Nybegynder
11. november 2000 - 13:23 #1
Her:
<body>
<form name=\"opretForm\" onSubmit=\"return validateForm()\">
  <tr>
    <td width=\"260\" valign=\"middle\" bgcolor=\"#F2F4F4\">
    <font color=\"#000000\">Brugernavn :</font>
    </td>
    <td width=\"210\" valign=\"top\" bgcolor=\"#F2F4F4\">
    <font color=\"#000000\"><input type=\"text\" name=\"nick\" size=\"19\">
    </td>
  </tr>
  <tr>
    <td width=\"260\" bgcolor=\"#F2F4F4\">
      <font color=\"#000000\">Password :</font>
    </td>
    <td width=\"210\" bgcolor=\"#F2F4F4\">
      <font color=\"#000000\"><input type=\"text\" name=\"password\" size=\"19\">
    </td>
  </tr>
  <tr>
    <td width=\"260\" valign=\"middle\" bgcolor=\"#F2F4F4\">
      <font color=\"#000000\">Password gentag :</font>
    </td>
    <td width=\"210\" valign=\"top\" bgcolor=\"#F2F4F4\">
      <font color=\"#000000\"><input type=\"text\" name=\"passwordGentag\" size=\"19\">
    </td>
  </tr>
  <tr>
    <td width=\"260\" bgcolor=\"#F2F4F4\">
      <font face=\"Verdana\" size=\"2\" color=\"#000000\">E-mail adresse : *</font>
    </td>
    <td width=\"210\" bgcolor=\"#F2F4F4\">
    <font color=\"#000000\"><input type=\"text\" name=\"e-mail\" size=\"19\">
    </td>
  </tr>
  <tr>
    <td width=\"260\" bgcolor=\"#F2F4F4\">
    <font face=\"Verdana\" size=\"2\" color=\"#000000\">Alder :</font>
    </td>
    <td width=\"210\" bgcolor=\"#F2F4F4\">
    <select name=\"alder\" size=\"1\">
      <option selected>Alder</option>
    <option>12</option>
    <option>13</option>
    <option>14</option>
    <option>15</option>
    <option>16</option>
    <option>17</option>
    <option>18</option>
    <option>19</option>
    <option>20</option>
    <option>21</option>
    <option>22</option>
    <option>23</option>
    <option>24</option>
    <option>25</option>
    <option>26</option>
    <option>27</option>
    <option>28</option>
    <option>29</option>
    <option>30</option>
    <option>31</option>
    <option>32</option>
    <option>33</option>
    <option>34</option>
    <option>35</option>
    <option>36</option>
    <option>37</option>
    <option>38</option>
    <option>39</option>
    <option>40</option>
    <option>41</option>
    <option>42</option>
    <option>43</option>
    <option>44</option>
    <option>45</option>
    <option>46</option>
    <option>47</option>
    <option>48</option>
    <option>49</option>
    <option>50</option>
    <option>51</option>
    <option>52</option>
    <option>53</option>
    <option>54</option>
    <option>55</option>
    <option>56</option>
    <option>57</option>
    <option>58</option>
    <option>59</option>
    <option>60</option>
    <option>61</option>
    <option>62</option>
    <option>63</option>
    <option>64</option>
    <option>65</option>
    <option>66</option>
    <option>67</option>
    <option>68</option>
    <option>69</option>
    <option>70</option>
    <option>71</option>
    <option>72</option>
    <option>73</option>
    <option>74</option>
    <option>75</option>
    <option>76</option>
    <option>77</option>
    <option>78</option>
    <option>79</option>
    <option>80</option>
    <option>81</option>
    <option>82</option>
    <option>83</option>
    <option>84</option>
    <option>85</option>
    <option>86</option>
    <option>87</option>
    <option>88</option>
    <option>89</option>
    <option>90</option>
    <option>91</option>
    <option>92</option>
    <option>93</option>
    <option>94</option>
    <option>95</option>
    <option>96</option>
    <option>97</option>
    <option>98</option>
    <option>99</option>
    </td>
  </tr>
  <tr>
    <td width=\"260\" valign=\"middle\" bgcolor=\"#F2F4F4\">
    <font face=\"Verdana\" size=\"2\" color=\"#000000\">Landsdel :</font>
    </td>
    <td width=\"210\" valign=\"top\" bgcolor=\"#F2F4F4\">
    <select name=\"region\" size=\"1\">
    <option selected>Vælg område</option>
    <option>Københavnsområdet</option>
    <option>Øvrige Sjælland</option>
    <option>Odensesområdet</option>
    <option>Øvrige Fyn</option>
    <option>Ålborgsområdet</option>
    <option>Øvrige Nordjylland</option>
    <option>Århusområdet</option>
    <option>Øvrige Midtjylland</option>
    <option>Sønderjylland</option>
    <option>Øvrige mindre øer</option>
    <option>Andre steder</option>
    </select></font></td>
  </tr>
  <tr>
    <td width=\"260\" valign=\"middle\" bgcolor=\"#F2F4F4\">
    &nbsp;
    </td>
    <td width=\"210\" valign=\"top\" bgcolor=\"#F2F4F4\">
    <input type=\"submit\" value=\"Opret\">
    </td>
  </tr>
</form>
<script>
function validateForm()
{
var  form, nick, passw, email, regNick, regEmail, err;
form = document.forms[0];
nick = form.nick.value;
passw = form.password.value;
email = form[\"e-mail\"].value;
regNick = /[\\w\\_-]+/
regEmail =  /[\\w\\._-]+@[\\w\\._-]+\\.[A-Za-z]{2,3}/
err = \"\";
if (nick.length < 1 || nick.length > 30)
    err += \"Brugernavnet skal indeholde mellem 1 og 30 tegn\\n\";
if (!regNick.test(nick) || nick.match(regNick)[0] != nick)
    err += \"Brugernavnet indeholder ugyldige tegn:\\nDu må kun bruge tegnene a-å, 0-9, samt _ og -\\n\";
if (passw.length < 4 || passw.length > 30)
    err += \"Dit password skal være mindst 4 og max 30 tegn langt\\n\";
if (passw != form.passwordGentag.value)
    err += \"Du må blive enig med dig selv om hvad du vil bruge som kodeord\\n\";
if (passw == nick)
    err += \"Dit password og brugernavn er ens og er derfor AT for nemt at gætte\\n\";
if (!regEmail.test(email) || email.match(regEmail)[0] != email)
    err += \"Du har angivet en ugyldig email-adresse\\n\";

if (err != \"\")
{
    alert(err);
    return false;
}
return true;
}
</script>
</body>
Avatar billede leif Seniormester
11. november 2000 - 13:32 #2
Der må vel ikke bruges æøå i mailadressen.
Avatar billede parazite Nybegynder
11. november 2000 - 13:40 #3
stringbuffer : Hmmm... virker ikke. Skal vi selv rette noget, eller? Evt. navnet på formen noget sted? Vi har flere forms på siden, så det kan måske have noget at gøre med det?

leif : Erhm... joeh... det må der godt. .nu-domæner tillader jo æ, ø og å.

- Parazite
Avatar billede stringbuffer Nybegynder
11. november 2000 - 13:40 #4
det har du ret i, leif, det glemte jeg fuldstændigt....

regEmail skal erstattes med denne:
regEmail =  /[A-Za-z0-9\\._-]+@[A-Za-z0-9\\._-]+\\.[A-Za-z]{2,3}/
Avatar billede parazite Nybegynder
11. november 2000 - 13:42 #5
stringbuffer : Den virker fint på en side for sig. Altså er det noget med de andre forms. Har du et forslag?

- Parazite
Avatar billede stringbuffer Nybegynder
11. november 2000 - 13:42 #6
ok, du skal give din form et navn og så bruge
form = document.forms[\"forms navn\"];

troede det var den eneste form :-)
Avatar billede stringbuffer Nybegynder
11. november 2000 - 13:43 #7
altså
form = document.forms[\"opretForm\"]
Avatar billede parazite Nybegynder
11. november 2000 - 13:47 #8
stringbuffer : BTW... hvad blev du enig med dig selv om mht. e-mail og æøå? Hvis vi gerne vil tillade det, hvad gør vi så?

- Parazite
Avatar billede stringbuffer Nybegynder
11. november 2000 - 13:54 #9
så skal du ikke ændre på regEmail i mit oprindelige svar.
men du skal stadig sige
form = document.forms[\"opretForm\"]
istedet for
form = document.forms[0]
Avatar billede parazite Nybegynder
11. november 2000 - 13:59 #10
Hvis man eksempelvis skriver david@nogetmedæ.dk så melder den fejl. Hvorfor? Det står som du skrev i dit første svar.

- Parazite, der snart smider 100 point efter stringbuffer
Avatar billede stringbuffer Nybegynder
11. november 2000 - 14:04 #11
hehe... ok, det med æøå er åbenbart lidt som med _
nogle browsere understøtter den som word-character andre gør ikke...

men denne her skulle virke

regEmail =  /[\\w\\._-æøåÆØÅ]+@[\\w\\._-æøåÆØÅ]+\\.[A-Za-z]{2,3}/
Avatar billede stringbuffer Nybegynder
11. november 2000 - 14:07 #12
virkelig kønt og elegant udtryk, ikke? (dybt ironisk)
Avatar billede parazite Nybegynder
11. november 2000 - 14:12 #13
Fuck om det er kønt eller elegant... hvis det virker kan det bruges! :o)

- Parazite, der er MEGET tæt på at slagte ALT, der har med NS 6 at gøre! Hvorfor VIL den pisbrowser IKKE fatter div-layers? *grrr*
Avatar billede stringbuffer Nybegynder
11. november 2000 - 14:23 #14
NUTSCAPE - navnet siger alt
Avatar billede parazite Nybegynder
11. november 2000 - 14:29 #15
He, foretrækker NetScrape... de skaber VIRKELIG bunden! :o)

- Parazite
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