preg_match

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Full Stack developer

Functieomschrijving Ben jij een ervaren Fullstack Java Developer en op zoek naar een internationale, creatieve en innovatieve omgeving? Wil jij werken aan een self-service dataplatform, waarbij je ervoor zorgt dat onze data vanuit een enorme hoeveelheid bronnen op de juiste plek terecht komt? Bij Randstad Groep Nederland (HQ) zijn we op zoek naar jou! Wij zijn op zoek naar een Fullstack Java Developer die per direct ons interne team komt versterken. Fullstack Java Development bij Randstad Groep Nederland (HQ) Jij werkt in het Corporate Client Solutions team. Dit team werkt samen met de product owner aan het klanten portaal, waarin

Bekijk vacature »

Fullstack .NET developer

Bedrijfsomschrijving Deze MS Gold Partner is onderdeel van een grote internationale organisatie met vestigingen door heel Europa heen geworden. Hierdoor hebben ze toegang gekregen tot een heel groot klanten portfolio waar ze nu ook werk voor verrichten. Ze zijn sterk in Microsoft trajecten en dan met name in het O365 pakket. Hoewel ze nu dus onderdeel zijn geworden van een grote organisatie is de sfeer nog altijd heel familiair. De medewerkers krijgen veel vrijheid in hun functie en de deur staat bij iedereen open. Het nieuwe project waar jij ook aan zal komen te werken combineert en koppelt grote backend

Bekijk vacature »

(Senior) iOS Mobile App Developer

APPLICANTS MUST LIVE IN THE NETHERLANDS As a (Senior) iOS Mobile App Developer you will be working on the App for consumers, in-house apps and further growth of one of the largest platforms in the Netherlands. Client Details APPLICANTS MUST LIVE IN THE NETHERLANDS Key-Account of Michael Page / Famous A-Brand Description APPLICANTS MUST LIVE IN THE NETHERLANDS As a Senior iOS Mobile App Developer you have the opportunity to work in a nice business environment. You will be part of the Mobile Business Development team. Together with your colleagues you are responsible for the delivery of several projects and

Bekijk vacature »

Parttime PHP Ontwikkelaar (medior)

Ben je op zoek naar een uitdagende baan met een bepalende rol binnen een organisatie en wil je direct impact hebben op de core business? Dan zoeken we jou! Wie zijn wij? Wat begon als kleine onderneming in een antikraak kantoor heeft zich de afgelopen 10 jaar ontwikkeld tot een professioneel bedrijf met een leidende positie in de markt. In de nichemarkt ‘busvervoer naar grootschalige muziekevenement in Nederland’ zijn wij de grootste speler en daar zijn wij best een beetje trots op! Onze missie: Iedere reis 5 sterren! Hoe we dat bereiken? Door de feedback van onze klanten om te

Bekijk vacature »

Java ontwikkelaar

Het schrijven van software en applicaties die er echt toe doen, dit doe jij onder andere als Java ontwikkelaar. Wij zoeken een Java ontwikkelaar voor ons hoofdkantoor in Waalwijk voor 40 uur per week. Het schrijven van software en applicaties die er echt toe doen, dit doe jij onder andere als Java ontwikkelaar. DMG, een huis vol mogelijkheden. Als Java ontwikkelaar werk je aan business applicaties, API’s en webservices die zowel binnen het bedrijf als door klanten en/of zakelijke partners worden gebruikt. Op deze manier kunnen we onze klanten nog beter bedienen en kunnen medewerkers hun werk eenvoudiger uitvoeren. Het

Bekijk vacature »

Junior .NET Developer met masterclasses voor een u

Bedrijfsomschrijving Deze passievolle, informele en laagdrempelige organisatie geeft de startende IT’er alle ruimte en tijd voor persoonlijke ontwikkeling. In dit unieke bedrijf sta jij centraal. Je komt te werken voor een van de klanten, meestal is dit in de financiële sector, maar dat ligt er ook aan waar jij het beste tussen past. Naast het werken voor de klant krijg je 1x in de twee weken met 8 tot 10 andere potentials een master training om jouw horizon te vergroten. Het is een vertrouwelijke omgeving waar je met jouw team voor het allerbeste wilt gaan, namelijk binnen een paar jaar

Bekijk vacature »

Senior C# Developer (NL)

Senior C# Developer (NL) Den Haag HBO/WO IT - software development Professional "Als Senior C# Developer impact maken op de groeiende E-commerce markt met onze logistieke software. Je doet dit door complexe bedrijfskritische logistieke business processen te vertalen naar de ontwikkeling en uitbreiding van onze Cloud IT-platformen en software oplossingen in C# en AWS" Wat ga je doen? PostNL is becoming a postal tech company. Als Senior C# Developer ben je onderdeel van een multidisciplinair Business-IT-team bestaande uit onder andere een Lead Engineer, Developers en Solution Consultants. Samen zijn jullie verantwoordelijk voor het bouwen aan onderdelen uit onze logistieke software

Bekijk vacature »

Back-end Developer NodeJS gezocht voor A merk bedr

Bedrijfsomschrijving Wanneer het gaat om de marketing sector is dit bedrijf een zeer belangrijke speler. Veel A merk bedrijven maken gebruik van de applicaties die hier gebouwd worden. Ze verzorgen een groot deel van de online communicatie voor deze klanten en er heerst een leuke en informele sfeer. Er is veel ruimte om te groeien, zowel in techniek en in functie, waardoor je een mooie groei hier kunt doormaken. Functieomschrijving Bij deze mooie organisatie is een rol vrij gekomen als Back-End developer om te ondersteunen bij het ontwikkelen van mooie maatwerk software in NodeJS en PHP. Daarnaast zoeken ze iemand

Bekijk vacature »

business developer

Je gaat aan de slag als business developer. Dit is een nieuwe functie binnen het bedrijf waar jij zelf dus ook invulling aan gaat geven! Jij gaat een productgroep promoten die snel groeiend is. Dit doe je met name intern bij de collega's van andere landen (22 landen) waar deze productgroep nog minder bekend is. wat bieden wij jou Vaste baan € 2.250,- tot € 3.000,- Baan in de Hoeksche Waard: Heinenoord Internationaal bedrijf wie ben jij Je beheerst je talen, bent commercieel ingesteld, hebt goede ideeën en kan mensen overtuigen en motiveren. Je denkt mee en helpt oplossingen te

Bekijk vacature »

IT Business Analyst ERP

Dümmen Orange is the world’s largest breeder and propagator of cut flowers, bulbs, tropical plants, pot plants, bedding plants and perennials. For our IT department in de Lier, we are looking for an IT Business Analyst ERP. Job objective Our organization grows and flourishes. This results in a fast-changing and, therefore, challenging environment. As an IT Business analyst ERP you support our ERP system that is implemented within our Sales and production entities all over the globe. You are working within the IT team, your colleagues (around 25 persons) are located in The Netherlands, Germany and within the US. You

Bekijk vacature »

Oracle APEX Developer centraal in het land

Bedrijfsomschrijving Mijn opdrachtgever kan per direct versterking gebruiken van een Medior en/of Senior Oracle Apex specialist. Deze organisatie is in een rap tempo uitgegroeid tot een professionele organisatie met informeel karakter waardoor jij je als werknemer ook echt gewaardeerd voelt. Deze organisatie is het type bedrijf waar je als ondernemende developer graag voor wil werken omdat je zo veel kanten op kunt gaan. Het team van ongeveer 15 specialisten werken samen aan projecten middels de nieuwste Oracle technieken. Functieomschrijving Als Oracle/Apex developer werk je hier voor opdrachten in verschillende sectoren. In feite zorg jij voor de implementatie van de Oracle

Bekijk vacature »

.Net ontwikkelaar gezocht voor een beter milieu!

Bedrijfsomschrijving Dit vooruitstrevende bedrijf maakt al jaren duurzame oplossingen gericht op een circulaire samenleving. In een informele setting wordt er door meer dan 40 medewerkers gewerkt aan hoogstaande en complexe software oplossingen, het IT team bestaat uit ongeveer 15 medewerkers waarvan 8 ontwikkelaars. Het niveau waarop gewerkt wordt ligt erg hoog, dit is ook nodig omdat de eind-producten op internationaal niveau op veel plekken gebruikt wordt. Er heerst hier een hele fijne sfeer waarbij veel mogelijk is, thuiswerken is hier een normaal begrip en het met grote regelmaat faciliteren van trainingen en cursussen is ook vanzelfsprekend in de ogen van

Bekijk vacature »

Algorithms Developer (Java)

We are looking for a new colleague who brings solid mathematical and industrial (Java based) software engineering expertise with a strong drive to deliver results and a fundamental interest in continuously building a stronger and better performing team by challenging and coaching. Could this be your next job? Functie In the Applications Algorithms group we are responsible for the development and implementation of the common algorithms that are then used by other teams to develop applications to optimize the production process of our customers. We are a group of experts on mathematics, algorithms, numerical methods and software engineering. Collaborate with

Bekijk vacature »

Java Developer (relocation)

Who are we? ICT Netherlands is an industrial total solutions provider that wants to make the world a little smarter, safer and more sustainable every day. Our dedicated technical professionals provide services in the areas of consultancy, software development, project-based solutions and managed services. In brief As an experienced Java developer within the Machine and Systems unit, you are responsible for the translation of the architecture to a technical design. You will also work this design out further in to software implementations with a team. You always have a flawless understanding of the consequences which decisions have regarding the architecture.

Bekijk vacature »

Senior Azure Developer

GrandVision Benelux is onderdeel van GrandVision N.V. Met meer dan 850 winkels van de formules Pearle Opticiens, Eye Wish Opticiens en GrandOptical is GrandVision Benelux marktleider op het gebied van optiek. Op het Support Office in Soesterberg bevindt zich ook de IT Afdeling, waar het IT Development Team onderdeel van uitmaakt. Het huidige Development Team bestaat uit 4 personen en kan niet wachten om jou te verwelkomen als nieuwe Senior Azure Developer! Onze cultuurwaarden DO DARE CARE vertegenwoordigen wie we zijn en waar we met elkaar voor staan. Heb jij ambitie en drive? Wij leren je graag beter kennen! DO

Bekijk vacature »
Mitchel V

Mitchel V

17/09/2010 18:41:31
Quote Anchor link
Hallo.

Ik wil 2 dingen controleren.
ze kunnen een datum en een tijd invoeren.
ik wil graag kijken of het goed ingevoerd wordt door middel van preg_match.

Maar hoe moet ik dit doen..?

Bedankt.
Greets Mitch
 
PHP hulp

PHP hulp

29/01/2022 13:40:43
 

17/09/2010 18:45:52
Quote Anchor link
Tja, dat ligt ook maar net aan welk formaat jij wilt dat binnenkomt.
 
Mitchel V

Mitchel V

17/09/2010 18:50:26
Quote Anchor link
Datum: dd-mm-YYYY
Tijd: HH:ii
 
Mark L

Mark L

17/09/2010 23:05:11
Quote Anchor link
Ook misschien handig om te kijken naar de checkdate-functie. Deze bepaalt of een datum ook werkelijk bestaat (zoals 30 februari nooit zal voorkomen...)
 
Rudie dirkx

rudie dirkx

17/09/2010 23:25:32
Quote Anchor link
checkdate() zuigt. 0000-00-00 is namelijk ook een geldige datum (vind ik dan).

Ik gebruik altijd dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
    /**
     * checkDate()
     */

    public static function checkDate( $f_szDate, $format = 'y-m-d' )
    {

        if ( !$format ) $format = 'y-m-d';
        $regexp = '#^'.strtr(preg_quote($format), array('y' => '(?P<year>\d{4})', 'm' => '(?P<month>\d\d?)', 'd' => '(?P<day>\d\d?)')).'$#';

        if ( !preg_match($regexp, $f_szDate, $parrMatch) ) {
            return false;
        }

        $szDate = $parrMatch['year'] . '-' . str_pad((int)$parrMatch['month'], 2, '0', STR_PAD_LEFT) . '-' . str_pad((int)$parrMatch['day'], 2, '0', STR_PAD_LEFT);
        return $szDate;

    }
// END checkDate() */
?>



-- edit

Wat ie doet is een string nemen en die het SQL datum formaat geven (YYYY-MM-DD). Als er niet zo'n formaat van te maken valt (bijv "aap" lijkt er niet geneog op) geeft ie False terug, anders die mooie datum.

Obviously als je altijd hetzelfde input formaat gebruikt, kan er een stukje uit, maar ik vind het wel fijn om achter de hand te hebben: misschien geef je de gebruiker (?) later de keus om hun input formaat te kiezen, of laat je het afhangen van een omgevingsvariabele (zoals taal of club of land oid).


-- edit

Voor de duidelijkheid: de input wordt gecontroleerd met de volgende (standaard) regexp:
#^\d\d?-\d\d?-\d\d\d\d$#
^ betekent 'begin van de string'
$ betekent 'einde van de string'
een \d is een digit, dus zelfde als [0-9]
Gewijzigd op 17/09/2010 23:30:27 door rudie dirkx
 
Richard van Velzen

Richard van Velzen

18/09/2010 00:11:41
Quote Anchor link
Rudie dirkx op 17/09/2010 23:25:32:
checkdate() zuigt. 0000-00-00 is namelijk ook een geldige datum (vind ik dan).


Oh leuk, jij vind dat 0000-00-00 een geldige datum is? Dus 2010-00-01 is ook een geldige datum?

NEE. NEE, dat is het niet. Er *is* geen 0e maand, er is geen 0e dag, en er is geen jaar 0. De telling A.D. begint bij het jaar 1, niet bij het jaar 0.

Alsjeblieft, ga eens wat nalezen, je kraamt complete onzin uit.
 
Rudie dirkx

rudie dirkx

18/09/2010 00:23:26
Quote Anchor link
LOL Als ik vind dat het een geldige datum is, vind ik het toch een geldige datum? Ligt een beetje aan de omgeving he... Ik vind alles wat in het DATE veld van de database past, een geldige datum: 0000-00-00, 9999-00-00, 1234-02-31.

Ik vond checkdate() een verschrikkelijk irritante functie, omdat je soms niet weet in welke maand je zit, maar wel de laatste dag ervan wil hebben (om te vergelijken, niet om op te halen om bijv met date() te printen). De laatste dag van de maand is 31, dus dat is makkelijk. En dan kan je makkelijk vergelijken:
Bijv [jouw datum] moet <= "2010-02-31". Die tweede datum zou dan uit een formulier ofzo komen (weetikveel) en dan wil je wel dat het formaat klopt (YYYY-MM-DD dus), maar het hoeft niet perse een bestaande datum zijn.

Rustig maar Richard :) Alles komt goed. 31 februari bestaat nog steeds niet.
 
Richard van Velzen

Richard van Velzen

18/09/2010 00:32:05
Quote Anchor link
Hey, het is heel simpel: je kunt roepen wat je wilt: 0000-00-00 *IS* geen geldige datum. Gebruik in een *ECHT* DBMS maar eens een timestamp (wat mysql DATETIME/DATE) noemt, daar krijg je dit nooit in.

Als je het gebruikt als vervanging voor wat NULL is, gebruik dan NULL.

En over je andere punt: daar is checkdate helemaal niet voor. checkdate heeft een enkel simpel doel: een datum valideren. Alle andere dingen die je wilt kan met strtotime, DateTime enzovoorts.
 
Rudie dirkx

rudie dirkx

18/09/2010 01:22:31
Quote Anchor link
Het ging dan ook niet over de functie checkDate, maar over een handige functie om een string te valideren (of te parsen zelfs?). En die functie heb ik. En die functie heb ik checkDate() genoemd. Wat sowieso een enorm slechte naam is, wat ie ook doet. Ik kan m ook EetEenKoe($date) kunnen noemen. Boeiend hoe ik m noem. Het lijkt me interessanter wat ie doet.

Als je de inhoud van de datum belangrijk vindt (en altijd hetzelfde YYYY-MM-DD formaat gebruikt), is checkdate perfect. Anders niet. Mee eens?

Toevoeging op 18/09/2010 01:27:14:

Mitchel, welke functie je ook gaat gebruiken, stop m aub sowieso in een andere functie, want je wil niet de SPL functie checkdate() gaan gebruiken en er over een jaar achterkomen dat ie niet goed is en dan OVERAL in je code die functie gaan vervangen. Ook al ga je checkdate gebruiken, doe het dan zo(iets):

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
function validateUserSubmittedDateStamp($date) { // of een andere mooie zelfbedachte naam
  $d = explode('-', $date);
  return 3 == count($d) && checkdate((int)$d[1], (int)$d[2], (int)$d[0]); // of een andere volgorde, ligt aan je input formaat
}
?>


voor tijd zou ik een 24 uur formaat afdwingen en sec achterwege laten (maar misschien heb je die nodig!?):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
function CheckUserSubmittedTimeFomat( $time ) {
  return 0 < preg_match('/^\d\d?:\d\d$/', (string)$time);
}

?>

Dan zijn 23:00 en 23:77 en 8:41 en 0:02 geldig, maar 14 en 100:00 niet.
Gewijzigd op 18/09/2010 01:30:45 door rudie dirkx
 
Mark L

Mark L

18/09/2010 12:23:03
Quote Anchor link
Dit voelt een beetje hetzelfde als:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
    // In het geval de functie substr toch niet doet wat ik wil;
    function substr2 ($value, $start, $stop = NULL) {
        if ($stop !== NULL) {
            return substr($value, $start);
        }

        else {
            return substr($value, $start, $stop);
        }
    }

?>

Ja; dit is in mijn ogen doelloos...
 
Mitchel V

Mitchel V

18/09/2010 12:40:19
Quote Anchor link
als ik 25:00 doe dan doet hij het ook.
Kunnen we niet een limit er op zetten van 24 op de uur en 60 op de minut?

als ik dit doe:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
$start_date = '14-09-2010';
echo DateStamp($start_date);
echo '<hr>';
$start_date1 = '114-09-2010';
echo DateStamp($start_date1);


dan komt er helemaal niet uit (behalven de lijn dan<hr>)
 
Mark L

Mark L

18/09/2010 12:48:39
Quote Anchor link
Met de functie mktime() zou je wel het een en ander kunnen regelen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
   echo date('Y-m-d', mktime(0,0,0, 09, 114, 2010));
?>


Maar de date-functies van PHP zijn relatief traag en kunnen minder dan de SQL-functies op dit gebied.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.