webForumDet fria alternativet

två regexp probs

.NETur .NET

12 svar · 352 visningar · startad av hopparn

Medlem sedan nov. 20011 551 inlägg
Frågan#1

hejsan
jag är RIKTIGT dålig på regexp, skulle vilja förhindra svenska tecken i nedanstående epostvalidering:

if (!Regex.Match(Email.Text, "[\\w\\.-]+(\\+[\\w-]*)?@([\\w-]+\\.)+[\\w-]+").Success)

Sedan skulle jag vilja tvinga folk att ha 5 tecken i postnummer, jag ser en del som registrerat sig med 4 siffror och ett mellanslag i nuläget.

detta är vad jag har fått fram, skulle bli glad om det fanns någon som kunde hjälpa mig även här =)

if( !Regex.Match(Zip.Text,"^\\d{5}$").Success)

tack på förhand
Hoppis

Medlem sedan okt. 2002103 inlägg
#2

vet att det finns en bra inbyggd för e-post i vs.net...

Medlem sedan nov. 20011 551 inlägg
#3

ja, det må så vara, men jag har byggt det i codebehindsidorna pga olika anledningar =) skall kolla om jag hittar något

Medlem sedan aug. 2001458 inlägg
#4

Manualen... http://samples.gotdotnet.com/quickstart/howto/doc/regexcommon.aspx

Vad är problemet med postnumren?

Medlem sedan okt. 2002103 inlägg
#5

inbyggd e-post kontroll;

ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
Medlem sedan okt. 2002103 inlägg
#6

ser ju ut som den du redan hade :)

Medlem sedan nov. 20011 551 inlägg
#7

hej
Epostkontrollen tar ingen hänsyn till om man har svenska tecken, jag har ett helsike med folks epostadresser då de av misstag skriver in t ex anders.häll@osv...

den kollar ju bara tecken, inte mellan a-z

postnumret kollar bara så att det är 5 tecken, jag har satt längden till 5 tecken och då kan man skriva in 754 4 t ex, och gå vidare, jag vill inte ha ett mellanslag med alls.

det som gör att detta är så viktigt är att uppgifterna antingen skrivs in eller jämförs med ett stort adressregister eller med vårt affärssystem och då blir det ju ingen koppling till befintligt data om folk skriver fel =)

Medlem sedan mars 20002 836 inlägg
#8

gör en extra kontroll på server-sidan där du kollar att inga svenska tecken finns med och att postnummret endast innehåller siffror (5 st) innan du går vidare och trycker in det i db'n

De inbyggda valideringskontrollerna bygger ju på client-side javascript så en kontroll på server sidan behövs ändå :e

cya,
PatrikB

Medlem sedan okt. 2002103 inlägg
#9

de inbyggda körs visst på serversidan... om man inte anger nåt annat.

Medlem sedan nov. 20011 551 inlägg
#10

jag har textboxarna som runat="server" och har sedan valideringen i codebehindsidan, det borde ju bara vara att skriva om reg utrycket men jag behärskar tyvärr ej regexp =(

Medlem sedan okt. 2002103 inlägg
#11

jag hade problem fast tvärtom... jag testade den fördefinerade för "ord" från dokumentationen (lr om d var msdn?), där kunde man då inte skriva åäö...

Medlem sedan juni 20011 732 inlägg
#12

de inbyggda körs visst på serversidan... om man inte anger nåt annat.

Tvärtom, de inbyggda validationkontrollerna körs på klienten om du inte a) anger något annat b) din browser inte klarar javascript/dhtml.

Jag föreslår att du använder en validationcontrol istället så du slipper validera på servern (vilket ju tar längre tid och är omständligare). Jag är tyvärr dålig på regexp, men du kan enkelt göra allt det du vill göra med en regularexpressionvalidator (och eventuellt en requredfieldvalidator).

Fråga på asp-forumet, jag är säker på att någon kan ge dig lite bra regexp-kod där inne! :)

Medlem sedan nov. 20011 551 inlägg
#13

tackar =) jag flyttar in första inlägget på asp forumet i stället

hoppis

135 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)