in reply to Inputmask based variable validation

Looks like a straightforward translation to me. '0' goes to '\d', '9' goes to '\d?', and so on. I'd do a one-to-one translation first and then run it through some an optimizer ('\d\d\d\d' becomes '\d{4}', for instance). Put the resulting string in a qr// and pass it back, ready to be matched.

Better yet, run the result through YAPE::Regex::Explain to show them how to do it properly. Like many things in VB, input masks are too simple for their own good, and you pay the price for this simplicity with overall more complex code.

----
: () { :|:& };:

Note: All code is untested, unless otherwise stated

Replies are listed 'Best First'.
Re: Re: Inputmask based variable validation
by simon.proctor (Vicar) on Apr 02, 2004 at 20:19 UTC
    I can see where you are going with the translation - thats something I had considered. Thanks.

    The input mask stuff is really the way to go for the user base that I have. Its complicated enough to get some reasonable validation into the project but not too complicated for them to use.

    I figured if they really wanted something complicated then they could just ask me to provide a regular expression directly.
      Is it possible to provide regex and input mask functionality at the same time? Wrap it up with hardburn's idea of YAPE::Regex::Explain and spit it out in verbose or debug mode?

      -QM
      --
      Quantum Mechanics: The dreams stuff is made of

        Well I would have thought so but I'll have to read up on Explain first. If nothing else, it will be a useful way to spend my weekend ;).