webForumDet fria alternativet

Problem med kontroll av datum

Webbutveckling

6 svar · 265 visningar · startad av lillebror

Medlem sedan apr. 20041 597 inlägg
Frågan#1

Hej,

Jag var inne på RegExpLib och hittade ett uttryck för att kontrollera datum på formen 1980-01-01. Här återfinns skriptet i sin helhet.

När jag kör uttrycket med preg_match får jag följande felmeddelande:

No ending delimiter '^' found in file c:\xxx...

Jag förstår ju vad problemet består i men inte riktigt hur jag löser det. Ett ^-tecken saknas, det är ju uppenbart :)

Medlem sedan dec. 20025 483 inlägg
#2

Hej!

Testa att lägga till slashes: /uttrycket här/

Medlem sedan apr. 20041 597 inlägg
#3

Då dök "Unknown modifier ' ' in ... " upp :OO

Medlem sedan dec. 20025 483 inlägg
#4

Hur ser preg_match()-anropet ut då?

Medlem sedan apr. 20041 597 inlägg
#5

Så här:

if(!preg_match('/^((((19|20)(([02468][048])|([13579][26]))-02-29))|((20[0-9][0-9])|(19[0-9][0-9]))-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30)))))$/
', $formdata['dob'])) {
		$error_reg['dob'] = "Födelsedatumet har felaktigt format!";
		}
Medlem sedan dec. 20025 483 inlägg
#6

Flytta upp det första tecknet (') på den andra raden, till den första raden.

Medlem sedan apr. 20041 597 inlägg
#7

You're the man! Fungerar finfint som vanligt ;) Tack!

256 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)