28. marts 2005 - 13:42
Der er
30 kommentarer og 1 løsning
Validering af tekststreng for special tegn
Ved form validering vil jeg gerne have testet for specialtegn således at disse ikke er gyldige med undtagelse af & og /. Jeg prøver at benytte javascripts value.match() funktion, men jeg fatter bjælde af den. tekststrengen må indeholde a til å stort og småt samt tal. Derudover tegnene - og & og / og ellers intet andet... Er der nogen der kan give en hånd med ??
Annonceindlæg fra Hitachi
”Forskellighed gør os stærkere!”
Diversitet er ikke kun buzzwords og politisk korrekthed, men et spørgsmål om at alle føler sig godt tilpas og kan yde deres bedste.
31. januar 2025
28. marts 2005 - 14:21
#1
Prøv med: if (min_str.match(/^[a-zæøå0-9&\/-]+$/i)) { alert("det var sgu rigtigt"); } else { alert("din bølle, skriv ordentligt!"); } :) -- Morten Barklund
28. marts 2005 - 15:41
#2
Må _ ikke bruges ?-)
28. marts 2005 - 15:55
#3
din bølle, skriv ordentligt!
28. marts 2005 - 15:55
#4
Jeg synes det var sjovt :D
28. marts 2005 - 16:05
#5
-- jeg spurgte bare til _ (underscore) fordi man så kunne bruge shortcuttet \w istedet for en masse andet: if (min_str.match(/^[\wæøå&\/-]+$/i)) {
28. marts 2005 - 16:08
#6
Jaja :) (jeg synes stadig det var sjovt)
28. marts 2005 - 16:26
#7
Det synes jeg også!
28. marts 2005 - 16:31
#8
din bølle, skriv ordentligt!
28. marts 2005 - 16:31
#9
*lol*
28. marts 2005 - 16:35
#10
_ (underscore) må ikke benyttes
28. marts 2005 - 16:37
#11
det var sgu rigtigt
28. marts 2005 - 16:44
#12
Har lavet det som følger med det virker ikke & og / bliver stadigvæk ikke accepteret? if(!form.company_name.value.match(/^[a-zæøå0-9&\/-]+$/i)){ alert("Fejlmeddelelse!"); form.company_name.focus(); return false; }
28. marts 2005 - 16:50
#13
Det gør det da hos mig ?-) alert(!"kljh/njkh&kjh".match(/^[a-zæøå0-9&\/-]+$/i)); giver helt korrekt false !-)
28. marts 2005 - 17:05
#14
Okay.. jeg prøver igen.. Strengen må indeholde aA til åÅ alle tal. Derudover må strengen indeholde - & /. alle andre tegn og symboler skal returnere false. Bjørnebryg 1897 A/S = true Holm hansen & søn - plus flere = true te!st"str#eng¤ der% Skal() gi[]ve?+ false' så formen; , ikke .: bliver submitted _*@£$ = false
28. marts 2005 - 17:07
#15
-- den med mellemrummet havde du glemt at fortælle om ... /^[a-zæøå0-9&\/ -]+$/i
28. marts 2005 - 17:13
#16
Beklager den med mellemrummet :( Det virker stadig ikke... er det bare mig der ikke fatter en bjælde if(!form.company_name.value.match(/^[a-zæøå0-9&\/ -]+$/i)){ alert("fejlmeddelelse!"); form.company_name.focus(); return false; }
28. marts 2005 - 17:17
#17
Begge dine eksempler godkendes hos mig, mens det sidste giver den fejl, det skal ...
28. marts 2005 - 17:19
#18
Det fatter jeg ikke... hvis jeg indtaster & / i formen returnerer den false og giver fejlmeddelelsen... den burde returnerer true og submitte formen. hvis jeg ikke skriver nogen specialtegn valideres den til true og formen submittes
28. marts 2005 - 17:23
#19
Hvilken browser bruger du ?-) Det virker perfekt hos mig både i IE og Gecko !-)
28. marts 2005 - 17:25
#20
Internet explorer....
28. marts 2005 - 17:34
#21
Har prøvet lidt forskelligt og jeg kan bare ikke få det til at virke.. den tager ikke de 3 tegn med...
28. marts 2005 - 17:35
#22
er der nogen alternativer ???
29. marts 2005 - 10:18
#23
Alle andre for det til at virke fint, så fejlen må ligge i det du har skrevet. Dump hele din fil herind.
29. marts 2005 - 13:57
#24
ok dette er hele funktionen: function return_appointment_values(form) { if(form.guest_id.value == ""){ return false; } else if(form.employee.value == ""){ alert("Vær venlig at vælge en meadarbejder!"); form.employee.focus(); return false; } else if(form.company_name.value == ""){ alert("Vær venlig at indtaste et firmanavn!"); form.company_name.focus(); return false; } else if(!form.company_name.value.match(/^[a-zæøå0-9&\/ -]+$/i)){ alert("Vær venlig at indtaste et firmanavn uden brug af specialtegn!"); form.company_name.focus(); return false; } else if(!check_date(form.arrival_date)) { alert("Ankomstdatoen kan ikke være før dags dato!"); form.arrival_date.focus(); return false; } else if(form.guest_name.value == ""){ alert("Vær venlig at indtaste gæstens fulde navn !"); form.guest_name.focus(); return false; } else if(!form.guest_name.value.match((/^[\wæøå\- ]{1,250}$/i))){ alert("Vær venlig at indtaste gæstens fulde navn uden brug af specialtegn!"); form.guest_name.focus(); return false; } else if(form.job_position.value != "" && !form.job_position.value.match((/^[\wæøå\- ]{1,250}$/i))) { alert("Vær venlig at indtaste gæstens job funktion uden brug af specialtegn!"); form.job_position.focus(); return false; } else { var str = form.guest_id.value +";"+ form.employee.value +";"+ form.company_name.value +";"+ form.arrival_date.value +";"+ form.arrival_time.value +";"+ form.departure_date.value +";"+ form.departure_time.value +";"+ form.guest_name.value +";"+ form.job_position.value; window.returnValue = str; window.close(); } }
29. marts 2005 - 19:19
#25
Bortset fra et par enkeltheder burde det da virke uden problemer ... Er det en modalDialog, modelessDialog eller en popup (bare nysgerrig !-) -- og sådan, som jeg nok selv ville lave det: function return_appointment_values(f) { if(f.guest_id.value == ""){ return false; } if(f.employee.value == ""){ alert("Vær venlig at vælge en meadarbejder!"); f.employee.focus(); return false; } if(f.company_name.value == ""){ alert("Vær venlig at indtaste et firmanavn!"); f.company_name.focus(); return false; } if(!f.company_name.value.match(/^[a-zæøå0-9&\/ -]+$/i)){ alert("Vær venlig at indtaste et firmanavn uden brug af specialtegn!"); f.company_name.focus(); return false; } if(!check_date(f.arrival_date)) { alert("Ankomstdatoen kan ikke være før dags dato!"); f.arrival_date.focus(); return false; } if(f.guest_name.value == ""){ alert("Vær venlig at indtaste gæstens fulde navn !"); f.guest_name.focus(); return false; } if(!f.guest_name.value.match(/^[\wæøå\- ]{1,250}$/i)){ alert("Vær venlig at indtaste gæstens fulde navn uden brug af specialtegn!"); f.guest_name.focus(); return false; } if(f.job_position.value != "" && !f.job_position.value.match(/^[\wæøå\- ]{1,250}$/i)) { alert("Vær venlig at indtaste gæstens job funktion uden brug af specialtegn!"); f.job_position.focus(); return false; } var str = f.guest_id.value +";"+ f.employee.value +";"+ f.company_name.value +";"+ f.arrival_date.value +";"+ f.arrival_time.value +";"+ f.departure_date.value +";"+ f.departure_time.value +";"+ f.guest_name.value +";"+ f.job_position.value; window.returnValue = str; window.close(); }
29. marts 2005 - 21:17
#26
Det er et modal vindue
29. marts 2005 - 22:11
#27
Jeg gandt fejlen.... Den lå desværre ikke i det script i havde givet mig med i nogle andre kald... :( Min fejl! Roenving vil du være venlig at lægge et svar. Så fordeler jeg lidt point til jer begge som tak for jeres hjælp....
29. marts 2005 - 22:30
#28
Godt du fandt hullet igennem '-)
07. juli 2005 - 09:42
#29
Hov, nu fik jeg jo alle pointene - roenving, vil du have de 30 points retur?
07. juli 2005 - 11:06
#30
Øehm, tjah, tjo, bom, bom ...
07. juli 2005 - 20:24
#31
Ellers vil jeg gerne!
Vi tilbyder markedets bedste kurser inden for webudvikling