views:

140

answers:

2

Hi all, I'm using a date field checker but I want to change the regex from DD-MM-YYYY to DD/MM/YYYY but I can't seem to get it working..

Here's the snippet of code:

"date": {
  "regex": "/^[0-9]{1,2}\-\[0-9]{1,2}\-\[0-9]{4}$/",
  "alertText": "* Invalid date, must be in DD/MM/YYYY format"
},

I'm sure it's quite simple but I have no idea about regex.. I've tried:

/^[0-9]{1,2}\/\[0-9]{1,2}\/\[0-9]{4}$/

and

/^[0-9]{1,2}\\/\\[0-9]{1,2}\\/\\[0-9]{4}$/

but neither of them work for me..

+3  A: 
o = 

{

    "date": {
      "regex": /^[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4}$/,
      "alertText": "* Invalid date, must be in DD/MM/YYYY format"
    }

}

o.date['regex'].test('02/12/2008')//true
o.date['regex'].test('2009-02-02')// false
o.date['regex'].test('03-04-2009')// false
meder
I tried that but I get a js error :S
SoulieBaby
More info please - like .. what did you try? Did you try my code by itself or did you try to embed it in your application? Silly question, but why is your regex wrapped around quotes? A regex literal doesnt need to be wrapped in quotes unless you're dynamically creating it with new RegExp.
meder
They're all wrapped in quotes, it's using jquery.validationEngine.js
SoulieBaby
+1  A: 

Or:

/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/

Or the full long form, which might help you understand what's going on:

/^[0-9][0-9]\/[0-9][0-9]\/[0-9][0-9][0-9][0-9]$/

This assumes you want exactly two digits for DD and MM and exactly four for YYYY.

Loadmaster