preg_match

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Solliciteer nu voor de rol van Customer Experience

Vindt jij het ook zo irritant als je een vraag of een probleem hebt en je wordt als een nummertje behandeld? Baal jij er ook zo van als je slecht op de hoogte wordt gehouden, wanneer je dringend ergens op zit te wachten? Snap jij het ook niet waarom je af en toe wordt afgesnauwd wanneer je een klantenservice belt? En denk jij dat je weet hoe je jouw klanten wel de beste Customer Experience kan geven? Kom dan ons team versterken!! Gateway ontwikkelt Cloud-diensten voor het afhandelen van alle denkbare Douane formaliteiten en is specialist in o.a. het verwerken

Bekijk vacature »

Email Front-End Developer

Creatieve HTML-er die de mooiste mails binnen no time kan bouwen. Wat doe je als Email Front-End Developer bij Coolblue? Droom jij in HTML en CSS? Weet jij als geen ander een ambitieus email design om te bouwen naar de werkelijke email? Zwem jij graag in je code om bestaande templates net weer een beetje beter te maken? Dan zoeken wij jou. Ook Email Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen De beste campagnes opbouwen voor de belangrijkste doelen Nieuwe mail templates ontwikkelen vanuit HTML en CSS of oude

Bekijk vacature »

Junior Fullstack JAVA developer @ Regio Eindhoven

2021-10-17 iSense Junior Fullstack JAVA developer Heb je onlangs een hbo-, wo-opleiding of een minor richting de IT afgerond en wil je graag aan de slag als Fullstack JAVA Developer? Lees dan snel verder! Want in februari 2022 start de Experis Academy weer met een leerprogramma waarin IT-experts je opleiden tot developer met als specialisatie JAVA. Dit allemaal met een salaris en een vooruitzicht op een baan bij een topwerkgever. ISNA51135 Wat ga je doen tijdens het Fullstack JAVA ontwikkeltraject? Vanaf februari 2022 krijg jij via de Experis Academy een unieke kans om jouw IT-carrière een kickstart te geven en

Bekijk vacature »

PHP Developer

As a PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible. How do I become a PHP Developer at Coolblue? As a PHP Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little C# or JavaScript. Would you also like to become a PHP Developer at Coolblue? Read below if the job suits you. You enjoy doing this Writing PHP code. Working with the Customer Journey Specialist to make

Bekijk vacature »

Service Assurance Manager

Service Assurance Manager Categorie: Project Management Regio/Locatie: Rotterdam, Zuid-Holland, Netherlands Vacaturenummer: J1021-4160 Type dienstverband: Full Time Functiebeschrijving: Als Service Assurance Manager werk je als Consultant voor een van onze klanten in de Oil & Gas industrie. Je bent de adviseur voor enerzijds de projectmanager en anderzijds de beheerorganisatie. En je borgt dat de door het project opgeleverde functionaliteit goed landt in de beheerorganisatie. Wat ga je doen? Het service assurance proces heeft als doel om op gestandaardiseerde wijze bij te dragen aan een betrouwbare, veilige en betaalbare support- en beheeromgeving. Jouw verantwoordelijkheden: • Het inregelen van de transitie naar support-

Bekijk vacature »

Support Medewerker

Functieomschrijving Ben je die enthousiaste probleemoplosser voor gebruikers van onze pakketten? Word je blij van vragen beantwoorden? Wil jij graag onze klanten helpen om hun weg te vinden in de software? Welkom bij Troublefree. Als supportmedewerker ben je de vriendelijke vraagbaak voor onze klanten. Je beantwoordt gebruikersvragen, helpt klanten met het uitvoeren van specifieke handelingen en doet zelf ook de nodige technische werkzaamheden. Samen met je collega’s houd je de kennisbank bij en je ondersteunt de consultants bij het uitvoeren van grote projecten. Saai is het nooit op support! Wat mag jij van ons verwachten Uitgebreide slimme software waar je

Bekijk vacature »

AWS Datawarehouse Developer

Functieomschrijving Are you an experienced AWS Data Warehouse Developer looking for an international, creative and innovative environment? Would you like to work on a self-service data platform, making sure our data makes its way from a vast array of sources to the right place? At the IT department of Randstad Groep Nederland (HQ) we are looking for you! We’re looking for an AWS Data Warehouse Developer available to join our internal team immediately. Data Warehouse at Randstad Groep Nederland (HQ) You are able to determine the direction and, together with the team, to make the right choices for the long

Bekijk vacature »

.NET developer / Azure @ Enschede

2021-11-23 iSense .NET developer / Azure Ben jij een .NET developer met enkele jaren ervaring en wil jij deze ervaring graag inzetten bij een gerenommeerde organisatie die alleen maar de meest innovatieve projecten oppakt? Heb jij interesse in IoT, AI en complexe datastromen en wil jij jezelf hier verder in ontwikkelen? Lees dan nu verder! ISHU48014 Organisatie Als .NET developer ga je samen met zes collega's werken in aan state-of-the-art oplossingen voor diverse opdrachtgevers en werk jij hard om de kwaliteit te blijven waarborgen van het geleverde werk. Denk hierbij aan het van scratch af aan bouwen van oplossingen, platformen,

Bekijk vacature »

C# .NET Core Ontwikkelaar

Locatie: Veel van onze werkzaamheden voeren wij uit op ons kantoor in Barendrecht of Nieuwegein of bij onze klanten in de regio. Momenteel werken wij zoveel mogelijk vanuit huis. In de toekomst zullen we juiste balans bieden tussen thuiswerken, op kantoor en of klant locatie. Binnen het domein transport en logistiek hebben wij dagelijks te maken met uitdagende vraagstukken op onder andere het vlak van Iot. Zo ontwikkelen wij bijvoorbeeld aan een Iot oplossing waar we van ruim 200.000 machines hun telemetrie en events verwerken. Dit komt neer op 200 miljoen berichten per dag. Hierin leggen we de focus op

Bekijk vacature »

Junior Fullstack Java Developer @ Rotterdam

2021-11-26 iSense Junior Fullstack Java Developer Heb jij jouw HBO of WO studie afgerond en wil je graag opgeleid worden tot Fullstack Java Developer? Mooi! Op 7 februari 2022 starten wij met ons Graduate Programma waarin je na een driemaandelijkse betaalde bootcamp mag gaan starten bij een hele toffe opdrachtgever. Ben jij klaar voor deze stap? ISNA51150 Wat houdt de vacature in? Vanaf 7 februari 2022 krijg jij via de Experis Academy een unieke kans om jouw IT-carrière een kickstart te geven en jezelf te ontwikkelen tot Fullstack Java Developer. Zo volg je de eerste drie maanden een fulltime op

Bekijk vacature »

Mendix Consultant / Developer @ Oosterhout

2021-11-18 iSense Mendix Consultant / Developer Wil je als interne Consultant werken bij een organisatie die volledig Mendix-minded is en het hele ontwikkelproces van analyse, bouwen tot implementatie doen? Reageer dan snel! ISN48412 Organisatie De organisatie begeeft zich in de retail branche en focust zich op de tak mobiliteit. De organisatie telt ongeveer 3000 medewerkers die verdeeld zijn over meerdere vestigingen in het land. Een deel zit in Brabant en een deel zit in de Randstad. Voor deze functie kan er als standplaats worden gekozen tussen de zowel de regio Utrecht als de regio Breda. Voor nu is het nog

Bekijk vacature »

Business Intelligence Ontwikkelaar

Bedrijfsomschrijving Waar ga je werken? Je gaat werken voor het stafbureau Informatisering. Samen met 7 andere collega’s maak je deel uit van het Scrum team Bedrijfsinformatie management (BIM). Functieomschrijving Heb jij passie voor data, voor het oplossen van uitdagende puzzels en ben je een stevige gesprekspartner voor de business en andere stakeholders? Dan zijn wij op zoek naar jou! Voor het Stafbureau Informatisering (INF) zoeken we een ervaren en klantgerichte Business Intelligence ontwikkelaar. Wat ga je doen? Je gaat een cruciale rol spelen in het (door)ontwikkelen van essentiële sturingsinformatie voor onze hele organisatie. Denk hierbij aan indicatoren als aantal studentaanmeldingen,

Bekijk vacature »

Advanced Mendix Developer Order Management Systeme

Advanced Mendix Developer Order Management Systemen (NL) Den Haag HBO/WO IT Professional "Als Advanced Mendix Developer impact maken op de groeiende e-commerce markt? Je doet dit bij PostNL door met je DevOps team onze Mendix applicaties verder te ontwikkelen, waarbij je complexe logistieke business processen vertaalt naar applicaties die ons primaire proces ondersteunen". Wat ga je doen? PostNL wordt een postal tech company We nemen de ontwikkeling van onze IT applicaties in eigen hand door onze eigen software-ontwikkel-capability op te zetten. Als Advanced Mendix Developer ben je onderdeel van een multidisciplinair, agile werkend Business-IT-team. Samen met dit team bouw je onze logistieke IT-applicaties verder

Bekijk vacature »

Integratie Developer @ Maasdijk

2021-07-27 iSense Integratie Developer Ben jij recent hbo afgestudeerd en wil jij je verder verdiepen in de wereld van applicatie integraties en koppelingen? En wil jij deze ervaring op doen bij een organisatie die zich dagelijks inzet voor een veilig Nederland? Dan is deze rol wat voor jou! ISBI50587 Organisatie De afdeling waarin jij terecht komt is verantwoordelijk voor de realisatie en het beheer van allerlei koppelingen en applicaties. Denk hierbij aan externe koppelingen en domein overstijgende interne koppelingen. Aangezien het gaat om een organisatie wat niet alleen lokaal, maar ook nationaal opereert krijg je te maken met een zeer

Bekijk vacature »

Fullstack Developer @ Amsterdam

2021-11-23 iSense Fullstack Developer Are you a Fullstack Developer who would like to work for one of the largest and most reputable financial organizations worldwide? Do you want to focus on projects where you will devise and implement the most innovative solutions (in-house) from scratch for recognized organizations (with amongst others Python and JavaScript)? Keep reading! ISKA51813 Organization If you're a Fullstack Developer, this is your chance to get started at one of the largest and most reputable financial organizations worldwide. With various establishments, this organization forms an important player in the financial market. The company has approximately 5000 employees

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

02/12/2021 20:42:34
 

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.