Understanding Regular Expression
Wall Script
MailxEngine
Monday, October 21, 2013

Understanding Regular Expression

Regular expression is the most important part in form validations and it is widely used for search, replace and web crawling systems. If you want to write a selector engine (used to find elements in a DOM), it should be possible with Regular Expressions. In this post we explained few tips that how to understand and write the Regular Expression in simple way.

10 Reasons To Get A .BLOG Name Now


Author
Arun Kumar Sekar
Arun Kumar Sekar

Engineer, Plugin Expert
Chennai, INDIA

Will discuss about basic regular expression in three stages.

Stage 1
Symbol             Explanation

^                       Start of string
$                       End of string
.                        Any single character
+                       One or more character
\                        Escape Special characters
?                       Zero or more characters

Input exactly match with “abc”
var A = /^abc$/;

Input start with “abc”
var B = /^abc/;

Input end with “abc”
var C = /abc$/;

Input “abc” and one character allowed Eg. abcx
var D = /^abc.$/;

Input  “abc” and more than one character allowed Eg. abcxy
var E = /^abc.+$/;

Input exactly match with “abc.def”, cause (.) escaped
var F = /^abc\.def$/;

Passes any characters followed or not by “abc” Eg. abcxyz12....
var G = /^abc.+?$/

Stage 2

Char                Group Explanation

[abc]                 Should match any single of character
[^abc]               Should not match any single character
[a-zA-Z0-9]      Characters range lowercase a-z, uppercase A-Z and numbers
[a-z-._]              Match against character range lowercase a-z and ._- special chats
(.*?)                  Capture everything enclosed with brackets
(com|info)         Input should be “com” or “info”
{2}                   Exactly two characters
{2,3}                Minimum 2 characters and Maximum 3 characters
{2,}                  More than 2 characters


Put together all in one URL validation.
var URL = /^(http|https|ftp):\/\/(www+\.)?[a-zA-Z0-9]+\.([a-zA-Z]{2,4})\/?/;

URL.test(“https://9lessons.info”);                      // pass
URL.test(“https://www.9lessons.info”);            // pass
URL.test(“https://9lessons.info/”);                   // pass
URL.test(“https://9lessons.info/index.html”);    // pass

Stage 3

Short Form     Equivalent              Explanation

\d                      [0-9]                         Any numbers
\D                     [^0-9]                       Any non-digits
\w                     [a-zA-Z0-9_]            Characters,numbers and underscore
\W                    [^a-zA-Z0-9_]          Except any characters, numbers and underscore
\s                       -                                White space character
\S                      -                                Non white space character


var number = /^(\+\d{2,4})?\s?(\d{10})$/;  // validating phone number

number.test(1111111111);           //pass
number.test(+111111111111);     //pass
number.test(+11 1111111111);    //pass
number.test(11111111);               //Fail
web notification

80 comments:

  1. Very nice post , Cool and simple
    nice share thank you bro

    ReplyDelete
  2. This is a great tutorial :) Can you write a tutorial for .htaccess like this ? it will be very help full. Thank you ! :)

    ReplyDelete
  3. Great Work, Thanks for Sharing =)

    ReplyDelete
  4. Amazing, finally a good explanation, very thanks.

    ReplyDelete
  5. Sorry, but this test:
    URL.test("http://www.9lessons.inoofscriptalert(1)/scriptoo");
    pass too. So something is wrong.

    ReplyDelete
  6. Dont forget to include EMAIL Validation as well in this list :)

    ReplyDelete
  7. It's very helpful for all the programmer...Thanks

    ReplyDelete
  8. Very helpful thanks

    ReplyDelete
  9. Really useful.. Great Tutorial Again.. :)

    ReplyDelete
  10. Very good article, really helpful. Thanks a ton.

    ReplyDelete
  11. I was looking for a tutorial on regular expression which simple as well as sharp. My searching stop here.... :)

    ReplyDelete
  12. great job,very usseful,


    thanks for sharing

    ReplyDelete
  13. Good work , it is very helpful for all
    This is quit simple for all

    ReplyDelete
  14. very useful... and well explained..

    ReplyDelete
  15. it will be helpfull -next post on .htaccess

    ReplyDelete
  16. Hi Arun.

    Good Job. However my Suggestions are below.Correct me if i am wrong

    Possible Errors are: multiple wwwwww will be accepted.
    It should Be www? not www+

    And
    ([a-zA-Z]{2,4})\/?/ it should be ([a-zA-Z]{2,4})(\/|\?|$) to restrict the .com,in,.edun,etc then / or ? then any thing else can come

    So that below url ll be restricted
    URL.test("http://www.9lessons.inoofscriptalert(1)/scriptoo");

    The Final Regex is:
    "/^(http|https|ftp):\/\/(www?\.)?[a-zA-Z0-9]+\.([a-zA-Z]{2,4})(\/|\?|$)/"

    ReplyDelete
  17. ? => Zero or one character (instead)

    ReplyDelete
  18. Awesome bro. Helpful article for newbies.

    ReplyDelete
  19. Great! Thanks for the post dude, very helpful

    ReplyDelete
  20. good and nice tutorial...very helpfull

    ReplyDelete
  21. Great lesson! Thanks

    ReplyDelete
  22. I am looking for what is the use of Required.Js and how to use in our web apps.

    ReplyDelete
  23. very well explained.

    ReplyDelete
  24. from where u got such a deep knowledge

    ReplyDelete
  25. Nice Article. Most of the time i didn't understand why $ \ so it's very helpfull for me...

    ReplyDelete
  26. Please Update:

    /^(http|https|ftp):\/\/(www?\.)?[a-zA-Z0-9]+\.([a-zA-Z]{2,4})(\/|\?|$)/

    ReplyDelete
  27. Great............

    ReplyDelete
  28. Simple and useful....thanks fir sharing!

    ReplyDelete
  29. Thanks for the post Great article the information published here will be very useful. anyway thanks again. nice work :D

    ReplyDelete
  30. Classic Tutorial yar...

    ReplyDelete
  31. Very Nice Post :)
    It's Help me a lot.

    ReplyDelete
  32. Helps me a lot

    ReplyDelete
  33. it's Very Cool Post Thanks Arun

    ReplyDelete
  34. Nicely Explained Bro. Always had trouble understanding them. Thanks

    ReplyDelete
  35. Cool! Thanks for the tutorial!

    ReplyDelete
  36. Excellent

    ReplyDelete
  37. Hi,
    you don't know how much you made my coding life easier, thanks a million!!

    ReplyDelete
  38. Thanks for the great tutorial arun.keep going

    ReplyDelete
  39. Thank you for this wonderful article published in this page. This is very nice. I really liked it.

    ReplyDelete
  40. Really like this post. Thanks for sharing it bro

    ReplyDelete
  41. Thank you it is very useful.And explanation also Superb.

    ReplyDelete
  42. Simple, precise and straight to the point. Thank you for this.

    ReplyDelete

Make in India