View Full Version : Kolla vad ett formulär innehåller. endast a-z, A-Z och 0-9.
Hej!
Jag vet hur man kontrollerar om ett fält innehåller tex @, men hur gör man för att kontrollera att ett fält inte innehåller någonting annat än a-z, A-Z och 0-9.
Det skall altså bli en popup ruta om man har angett tex ett % tecken eller ett ä.
}
else if (document.register.Epost.value.indexOf("@") == -1)
{
alert("Du måste fylla i korrekt en E-mail adress.")
return false;
}
Man behöver väl inte ta bokstav för bokstav? Det måste väl gå att kontrollera ascii koden´s nummer från tex 100-130 tillåts?
------------------
Mvh
Patrik
aka Brimba
www.datormaklarna.se (http://www.datormaklarna.se)
patrik@datormaklarna.se
Hejsan,
Skall du kolla om det är en epostadress? Använd en "regular expression"! Prova detta
<html>
<head>
<script language="Javascript1.2">
function kolla(obj){
var epost = obj.epost.value;
var pattern = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
flag = pattern.test(epost);
if(flag){
alert("Emailadressen ok!");
return true;
}
else{
alert("Emailadressen felaktig!");
return false;
}
}
</script>
</head>
<body>
<form onSubmit="return kolla(this);">
<input name="epost" type="text">
<input type="submit">
</form>
</body>
</html>
Funkar nästan hur bra som helst!
/nicclas @ http://www.nic-sys.se
Hej!
Jag skall inte kolla om email adressen är ok.
Jag skall se till så att de inte skriver in något annat i lösenordet samt användarnamnet än a-z, A-Z och 0-9.
För jag vill endast tillåta de tecknena.
Tack!
nicclas,
En e-post-adress kan innehålla vilka tecken som helst före @. ÅÄÖ kan mycket väl också förekomma efter @.
Att kontrollera sånt är väldigt korkat.
------------------
/mvh Swey
Wadde Hadde Dudde Da
Programmera Php (http://www.swe.f2s.com/)
swey@tjohoo.se
[Redigerat av Swey den 18 maj 2000]
Swey, läste du detta?: Jag skall inte kolla om email adressen är ok.
------------------
)|(
(o o)
-oo0-(_)-0oo-----
webeye.nu (http://www.webeye.nu)
Hej!
Ville bara meddela hur jag har löst det hela, jag pastar hela mitt script så kan ni ju se hur jag kollar email adressen också om ni vill :)
<script language="JavaScript">
function validateform() {
if (document.register.ForNamn.value==""
| | document.register.EfterNamn.value==""
| | document.register.GatuAdress.value==""
| | document.register.AnvNamn.value==""
| | document.register.Postnummer.value==""
| | document.register.Ort.value==""
| | document.register.TelHem.value==""
| | document.register.Epost.value==""
| | document.register.password1.value=="")
{
alert("Alla fält måste fyllas i för att kunna bli registrerad.")
return false;
}
else if (document.register.Epost.value.indexOf("@") == -1)
{
alert("Du måste fylla i korrekt en E-mail adress.")
return false;
}
else if (document.register.password1.value != document.register.password2.value)
{
alert("Lösenorden stämmer inte överens, var god försök igen.")
return false;
}
else
{
return false;
}
}
function validate(field) {
var valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567 89"
var ok = "yes";
var temp;
for (var i=0; i<field.value.length; i++) {
temp = "" + field.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no") {
alert("Ogiltligt tecken! endast a-z, A-Z och 0-9 får förekomma i fältet.");
field.focus();
field.select();
}
}
</script>
Har ni kommentarer till koden skulle jag bli glad om ni gav mig det.
För att kolla ett fält gör jag helt enkelt så här:
<INPUT name="AnvNamn" size="40" onBlur="validate(this)">
Ha det bra!
Tack!
------------------
Mvh
Patrik
aka Brimba
www.datormaklarna.se (http://www.datormaklarna.se)
patrik@datormaklarna.se
Hej hopp, det här var snurrigt.
Ok, säg du vill kolla så att ett lösenord inte innehåller annat än a-z A-Z och 0-9...
Då modifierar vi mitt exempel lite. PROVA:
<html>
<head>
<script language="Javascript1.2">
function kolla_passwd(obj){
var passwd = obj.passwd.value;
var pattern = /^([a-zA-Z0-9]+)$/;
flag = pattern.test(passwd);
if(flag){
alert("ok!");
return true;
}
else{
alert("felaktig!");
return false;
}
}
</script>
</head>
<body>
<form onSubmit="return kolla_passwd(this);">
<input name="passwd" type="text">
<input type="submit">
</form>
</body>
</html>
Ok?
/nicclas @ http://www.nic-sys.se
Kommentar till Swey: Nä, HTTP kommunicerar med 7bits ascii så åäö i url:ar och mailadresser fungerar INTE! (Men det finns några företag som pysslar med speciallösningar för detta, men inget finns i drift vad jag vet!) Slutsats: Kolla emailadresser med "regular expressions" är inte speciellt korkat!
[Redigerat av nicclas den 18 maj 2000]
Vilket anser du är bäst att använda?
Min lösning eller din lösning?
///Patrik
Ja, jag vet inte... Jag skulle nog använda min lösning (för den ser cool:are ut :) , tycker jag). Men vore jag du skulle jag använda din (enklare, men mindre cool:a) lösning...
/nicclas @ http://www.nic-sys.se
Jag kör som jag har det nu, jag trivs med det :e
///Patrik
vBulletin® v3.8.6, Copyright ©2000-2013, Jelsoft Enterprises Ltd.