# Validere med regular expressions

**URL:** <https://www.interactcommunity.no/t/validere-med-regular-expressions/163>\
**Category:** Tips & Scripts\
**Created:** [september 25, 2019, 2:10pm UTC](https://www.interactcommunity.no/t/validere-med-regular-expressions/163 "2019-09-25T14:10:21Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![tdfikse](https://yyz2.discourse-cdn.com/flex036/user_avatar/www.interactcommunity.no/tdfikse/32/86_2.png) [@tdfikse](https://www.interactcommunity.no/u/tdfikse)\
**Post date:** [september 25, 2019, 2:10pm UTC](https://www.interactcommunity.no/t/validere-med-regular-expressions/163/1 "2019-09-25T14:10:21Z")

</div>

Regular expressions er en form for svart magi som kan brukes til å søke gjennom tekststrenger, for eksempel for å hente ut deler av det, eller for å validere innholdet. Her er et eksempel på hvordan man implementerer sin egen e-postvalidering basert på en regular expression i Interact.

**Steg 1:** Finn en regular expression på nettet. Jeg fant en for e-postvalidering her: [https://emailregex.com/](https://emailregex.com/). Den ser sånn ut:

`(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&’\*+/=?^\_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])`

**Steg 2:** Interact liker ikke tegnene \ og " i formler, og de må «escapes» med et ekstra tegn. Du må derfor kjøre en replace i notepad e.l. og erstatte `\` med `\\` og `"` med `\"` (i den rekkefølgen). Da sitter du igjen med denne:

`(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&’\*+/=?^\_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])`

**Steg 3:** Implementer regular expression i et script, her et valideringsscript:

`= if (!(E_post_med_regex =~ "(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&’\*+/=?^\_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)[\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])"))](file://.)%7b3%7d(%3f:25[0-5]|2[0-4][0-9]|[01]%3f[0-9][0-9]%3f|[a-z0-9-]*[a-z0-9]:(%3f:[/x01-/x08/x0b/x0c/x0e-/x1f/x21-/x5a/x53-/x7f%5d|/%5b/x01-/x09/x0b/x0c/x0e-/x7f%5d)+)/%5d)%22))) {return "Du må taste inn en gyldig e-postadresse"}`

E\_post\_med\_regex er her id til feltet som skal sjekkes. Logikken her er altså HVIS IKKE (!) regex returnerer true, vis feilmelding. Det skal inn her:

 ![regexscript](https://canada1.discourse-cdn.com/flex036/uploads/interact/original/1X/fd4eacfc89ef6f6d92da483b3ab3d9971fd0ea8c.jpeg)

Det fungerer som det skal:

 ![regextest](https://canada1.discourse-cdn.com/flex036/uploads/interact/original/1X/fde41b0fd042c0dc425029233383a4fd1672b0c6.png)

---

<div class="post-metadata">

**Author:** ![Shat](https://yyz2.discourse-cdn.com/flex036/user_avatar/www.interactcommunity.no/shat/32/73_2.png) [@Shat](https://www.interactcommunity.no/u/Shat)\
**Post date:** [november 22, 2019, 11:58am UTC](https://www.interactcommunity.no/t/validere-med-regular-expressions/163/2 "2019-11-22T11:58:56Z")

</div>

Noen som har en regex for kontroll av at bankkonto er gyldig?

---

<div class="post-metadata">

**Author:** ![Helge](https://yyz2.discourse-cdn.com/flex036/user_avatar/www.interactcommunity.no/helge/32/42_2.png) [@Helge](https://www.interactcommunity.no/u/Helge)\
**Post date:** [november 24, 2019, 9:29pm UTC](https://www.interactcommunity.no/t/validere-med-regular-expressions/163/3 "2019-11-24T21:29:12Z")

</div>

Hvis det er et input-felt som brukeren fyller ut kan man velge validering direkte i “type”

 ![image](https://canada1.discourse-cdn.com/flex036/uploads/interact/original/1X/b55a0e75e0ff168aeeb8a19c87dabd03f98b6f17.png)
