Understanding Regular Expression
Wall Script
Wall Script
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

78 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. Very Nice Post.Thanks Dude

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

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

    ReplyDelete
  9. Very helpful thanks

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

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

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

    ReplyDelete
  13. great job,very usseful,


    thanks for sharing

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

    ReplyDelete
  15. very useful... and well explained..

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

    ReplyDelete
  17. 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
  18. ? => Zero or one character (instead)

    ReplyDelete
  19. Awesome bro. Helpful article for newbies.

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

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

    ReplyDelete
  22. Great lesson! Thanks

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

    ReplyDelete
  24. very well explained.

    ReplyDelete
  25. from where u got such a deep knowledge

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

    ReplyDelete
  27. Please Update:

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

    ReplyDelete
  28. Great............

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

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

    ReplyDelete
  31. Classic Tutorial yar...

    ReplyDelete
  32. Very Nice Post :)
    It's Help 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. Hi,
    you don't know how much you made my coding life easier, thanks a million!!

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

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

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

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

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

    ReplyDelete

mailxengine Youtueb channel
Make in India
X