Compare numeric strings with leading zeros

Thierry Douez th.douez at
Thu Sep 3 23:56:57 EDT 2015


> Ahhhhhhhhh,

Well, nothing very dangerous here :)

>>   if matchText( userTyping, myVeryStrongPassword) then ...

This was a direct answer to this thread:

         "compare numeric strings with leading zeros" !

> I would caution against using matchText for this purpose,
> because the second
> parameter is treated by the function as a regular expression.

myVeryStrongPassword is a regular expression in a pure litteral form.

> For instance, matchText would return true if you were to reverse your
> example values:

Yes, the order of the parameters have a meaning, but this is true
for so much functions in LC. So, I don't get it :(

> In addition,
> since passwords are typically allowed to contain any character

Was not asked by the OP.

Ok then, so new  rules here:)

>    local userTyping = "5"
>    local myVeryStrongPassword = "^5$"

If your password can contains any chars,
Just tell it to matchText():

    my password can be any character and I don't want you to
    interpret them in any ways!

For that,
enclose your myVeryStrongPassword by "\Q" & "\E" and it
will be interpreted as litteral characters.

> Since Ralph is looking to use this for password validation,
> I would throw in a case sensitivity check as well:

For this one, there is nothing special to do.
If it will be case insensitive you could add a prefix to the regex: (?i)

so the final matchText() solution is:

put  "\Q^5$\E"  into  myVeryStrongPassword
if matchText( userTyping,  myVeryStrongPassword ) then ...

Ok, now I'm waiting for what I've missed...

Have all a nice day or night.


More information about the use-livecode mailing list