webForumDet fria alternativet

regex

7 svar · 802 visningar · startad av Flow

FlowMedlem sedan dec. 200283 inlägg
#1

tja!

Håller på med ett valideringsscript till jQuery (http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/) men försöker skriva en egen regular expression för att kolla om ett fält innehåller orden "säljes" eller "köpes", om de existerar skall man få ett felmeddelande...

Såhär ser det ut idag:

"onlyLetter":{
"regex":"/^[a-zA-Z\ \']+$/",
"alertText":"* Endast bokstäver"}

Hur skall jag skriva denna för att det endast skall reagera när orden "säljes" eller "köpes" finns med i strängen?

mvh
Flow

nitro2k01Medlem sedan aug. 20037 630 inlägg
#2

Detta bör funka:

"/(köpes|säljes)/i"
FlowMedlem sedan dec. 200283 inlägg
#3

Nu släpper den inte vidare om man inte har säljes eller köpes med i strängen...

Vill att det skall gå vidare om orden inte finns... alltså tvärtom...

mvh
Flow

onkelborgMedlem sedan juli 2003582 inlägg
#4

Ta en titt på följande sida och se om du kan få ut något vettigt: http://www.codinghorror.com/blog/archives/000425.html

Peter SMedlem sedan dec. 20025 484 inlägg
#5
/^((?!köpes|säljes).)*/i
FlowMedlem sedan dec. 200283 inlägg
#6

Peter S skrev:

/^((?!köpes|säljes).)*/i

Den här funkar nästan perfekt! Men den är inte case insensitive, skriver jag "bla säljes" så säger den ifrån, men inte om jag skriver "bla Säljes".

mvh
flow

onkelborgMedlem sedan juli 2003582 inlägg
#7

testa med [sS][äÄ][lL][jJ][eE][sS] istället?

Peter SMedlem sedan dec. 20025 484 inlägg
#8

Så här borde det vara:

/^((?!köpes|säljes).)*$/i

I:et på slutet säger att matchningen skall vara insensitive, d.v.s. att ingen skillnad skall göras mellan gemener och versaler.

Genererad på 368 ms · cache AV · v20260730165559-full.f96bc7eb