FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Medlem
|
Hej.
Jag försöker få en matchningskontroll i javascript om en sträng uppfyller ett visst krav: Jag har testat med denna och varianter i match(): /\d+;(select|function|url|menu|back|close);[0-9a-zA-Z_\s\.,\?!]+;\d*/ De strängar som den skall kontrollera kan se ut så här: - Ett tal som är 0 eller mer (obligatoriskt) - Ett ;-tecken (obligatorisk) - Ett av sex nyckelord (select|function|url|menu|back|close) (obligatorisk) - Ett ;-tecken (obligatorisk) - En text som kan innehålla alla bokstäver, siffror, understreck, mellanslag, punkt, kommatecken, utropstecken eller frågetecken. (ej obligatoriskt) - Ett ;-tecken (obligatoriskt) - Ett tal från 0 och uppåt (ej obligatoriskt) Exempel på strängar "15;select;Test 7!;4208" "22;back;Tillbaka;" "22;close;Stäng;" |
||
![]() |
![]() |
![]() |
#2 | |||
|
||||
Medlem
|
Dina exempel matchar ditt regexp, sånär som på den sista där "ä" ställer till det. Vad är problemet?
Kanske vill du ha med ^ och $ först resp sist i ditt regexp om strängen måste matcha exakt. En annan grej: Texten som ej är obligatorisk, borde det inte vara "*" istället för "+"? Med "+" måste strängen vara minst ett tecken. |
|||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Mycket flitig postare
|
I [] behöver du inte escapa de flesta tecken.
|
|||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Medlem
|
Nu har jag testat följande regexp i en regexp-testare:
REGex TESTER v1.5.3 Citat:
thestring.match("^[0-9]+;(select|function|url|menu|back|close){1};[\w\s?!._åäöÅÄÖ]*;[0-9]*$"); Och jag har även testat med "/"-tecken först och sist men i regex-testaren så funkar det inte med dessa tecken. Edit: Tro't eller ej, men nu har jag fått det att fungera, tror jag: "^[0-9]+;(select|function|url|menu|back|close){1};[a-zA-Z0-9 ?!._åäöÅÄÖ]*;[0-9]*$" "\w\s" verkade inte funka som jag trodde det skulle göra. |
||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Medlem
|
Jag skulle testat:
thestring.match(/^\d+;(select|function|url|menu|back|close);[^;]*;\d*$/) - [0-9] eller \d ska inte spela roll - {1} ska inte behövas - En sträng som termineras med ; kan matchas med "[^;]*;" (eller ".*?;") |
|||
![]() |
![]() |
![]() |
#6 | |||
|
||||
Mycket flitig postare
|
Citat:
/regexp/ "sträng" |
|||
![]() |
![]() |
Svara |
|
|