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