Avatar billede pitufo Nybegynder
10. juli 2003 - 13:36 Der er 5 kommentarer og
2 løsninger

validering af tid

Hej
Hvordan validere jeg inputtet i en text box

ENESTE valide input er: gyldige tidspunkter dvs. fra 00:00 til 23:59 og derimellem og eneste gyldige tegn der må adskille timer og minutter er et kolon (:)?

tak på forhånd

Pitufo
Avatar billede avminarm Juniormester
10. juli 2003 - 13:48 #1
du kan bruge regulære udtryk, men et godt råd er lad ikke brugeren få lov til noget som man ikke må - måske kunne du lave funktionen med to seperate dropdown felter et med 24 i og et med 60 i adskildt af et : - så har du ikke brug for at validere ;o)
Avatar billede pitufo Nybegynder
10. juli 2003 - 13:49 #2
tja det var måske en ide
Det vil jeg lige tænke over
Avatar billede avminarm Juniormester
10. juli 2003 - 13:55 #3
ellers noget i stil med:

if(ereg("[a-zA-Z]", $str)){
  echo 'hov der må kun være tal i!';
}
Avatar billede sukos Juniormester
10. juli 2003 - 14:34 #4
En form:

<form>
<select name="startdato" class="input">
<option value="">Dato:</option>
<?php
for($a = 1; $a <= 31; $a++) {
if($a<=9) {
$a = "0".$a;
}
echo"<option value=\"". $a ."\">". $a ."</option>\n";
}
?></select>
<select name="startmaaned" class="userinput">
<option value="">M&aring;ned:</option><?php
$maaned = array('01' => 'Januar', '02' => 'Februar', '03' => 'Marts', '04' => 'April', '05' => 'Maj', '06' => 'Juni', '07' => 'Juli', '08' => 'August', '09' => 'September', '10' => 'Oktober', '11' => 'November', '12' => 'December');
foreach($maaned as $key => $value) {
echo"\n<option value=\"". $key ."\">". $value ."</option>";
}
?></select>
<select name="startaar" class="userinput">
<?php
$min_aar = date("Y");
$max_aar = date("Y")+20;
for($a = $min_aar; $a < $max_aar; $a++) {
echo"<option value=\"". $a ."\">". $a ."</option>\n";
}
?></select>
<select name="starttime" class="input">
<option value="">Timer:</option>
<?php
for($a = 0; $a <= 23; $a++) {
if($a<=9) {
$a = "0".$a;
}
echo"<option value=\"". $a ."\">". $a ."</option>\n";
}
?></select>
<select name="startminutter" class="input">
<option value="">min.:</option>
<option value="15">15</option>
<option value="30">30</option>
<option value="45">45</option>
</select></form>
Avatar billede sostack Nybegynder
10. juli 2003 - 14:50 #5
<?php
if(ereg("^([0-9]{1,2}):([0-9]{1,2})$", $_POST['tid']))
{
$checktid = explode(":", $_POST['tid']));
if($checktid[0] < 24 && $checktid[1] < 60)
{
$check = "ok";
} else {
$check = "Hmm....!";
}
}
?>

//sostack
Avatar billede sostack Nybegynder
10. juli 2003 - 14:53 #6
rettelse:
<?php
if(ereg("^([0-9]{1,2}):([0-9]{1,2})$", $_POST['tid']))
{
$checktid = explode(":", $_POST['tid']);
if($checktid[0] < 24 && $checktid[1] < 60)
{
$check = "ok";
} else {
$check = "Hmm....!";
}
} else {
$check = "Hmm....!";
}
echo $check;
?>

//sostack
Avatar billede pitufo Nybegynder
17. juli 2003 - 09:00 #7
inden I fik postet lavede jeg rullemenuer i stedet så brugeren ikke får mulighed for at indtaste men kun skal vælge. Det virkede så jeg lader det blive ved det. Jeg har dog noteret mig jeres forslag og takker, det kan være jeg kan bruge dem senere
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester