0

Hi I'm stuck at assignment. I want to create a regex based on a string sent to function. If I send for example dd/mm/yyyy, I want it to create (\d\d)[\/](\d\d)[\/](\d\d\d\d) and if yyyy/mm/dd I need it in reverse so I can later use it for date validation? Is this even possible?

Jeroen
  • 1,142
  • 1
  • 11
  • 21
user3187715
  • 137
  • 10
  • I tried 2 days to think of it with for loops appending, index of, and i got nowhere. Beacuse of that i don't know if it's even posible. I don't need solution i need hint. – user3187715 Jan 23 '17 at 12:02
  • 1
    Javascript is a Turing complete language, so anything is possible :^) – Gregor Menih Jan 23 '17 at 12:04
  • 1
    The simplest (to understand/develop) method would be to loop through each character, if it's a "/" add the `[\/]` part, otherwise add `\d`. Add the brackets `()` with the `[\/]` and at the start/end. – freedomn-m Jan 23 '17 at 12:05
  • The next step would be to use `.replace` instead of a loop to change characters, eg: `x.replace(/m/g, "\\d")`. The least obvious part of this is to add the brackets `()` at the same time as the `[\/]` and add them at the start/end directly. – freedomn-m Jan 23 '17 at 12:10
  • Problem is not just spliting beacuse input can be dot or slash or horizontal line. Thats why I'm stuck :) – user3187715 Jan 23 '17 at 12:36
  • @user3187715 you can't say you want to convert "dd/mm/yyyy" to a regex, then, when people give you suggestions, you add a whole bunch of other requirements such as dots and slashes. so move on from .split, you shouldn't still be "stuck". – freedomn-m Jan 23 '17 at 13:44
  • The task is much more complicated than that. I need to take any input and convert it not just one with slashes – user3187715 Jan 23 '17 at 14:02

1 Answers1

0

How do you use a variable in a regular expression?

Javascript Regex: How to put a variable inside a regular expression?

I think that's what you are trying to do ? Get user input and use it with RegEx ?

You can use .split() to get an array out of string, and then work with that array. You can use .reverse() and .join() if you need it later.

Community
  • 1
  • 1