Thanks for your valuable replies.
I am now finally be able to resolve my regex properly.
Regex used:
^((http:\\/\\/)|(https:\\/\\/))?(www.)?(([a-zA-Z0-9-]+)([\\.a-zA-Z0-9-]*)|(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}))?(:\\d+)?([\\/a-zA-Z0-9\\.-]*)$
Test Cases:
1. "http://net.tutsplus.com/about", result: true
2. "http://net.tutsplus.com/", result: true
3. "www.google.com", result: true
4. "https://regex101.com/", result: true
5. "http://makeit.london", result: true
6. "http://makeit.london/", result: true
7. "http://make-it.london/", result: true
8. "http://localhost:8080/demoapp/test/", result: true
9. "test.sub-domain3.sub-domain2.sub-domain1.domain-tld-0:8080/demoapp/test/mypage.html", result: true
10. "https://test.london:80/test-domain/test-path/test.html", result: true
11. "https://127.0.0.1:8080/demoapp/test-path/mypage.html", result: true
12. "https://127.0.0.1:8080/demoapp/test/mypage.html", result: true
13. "http://www.example.com/mypage.aspx", result: true
14. "http://www.192.168.2.3:231/mybranch/mypage.aspx", result: true
15. "http://example.com/somedir/somefile/", result: true
16. "https://192.213.23.12:231/branch/mypage/", result: true
17. "https://192.213.23.12:231/branch/mypage", result: true
18. "https://192.213.23.12:/branch/mypage/", result: false
19. "javascript('XSS');", result: false
20. "javascript(\"XSS\");", result: false
21. "javascript(1);", result: false
22. "http://a.b/\"onerror=\"javascript:alert(1);", result: false
23. ",", result: false
24. "https://Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla ac tincidunt metus. Praesent ante ligula, maximus eu quam eu, blandit auctor mi. Morbi viverra a lectus luctus tincidunt. Morbi tristique condimentum eleifend. Maecenas mattis auctor ligula, quis placerat leo luctus et. Etiam euismod massa sit amet nisl porta aliquet. Nunc commodo aliquam orci vitae feugiat. Mauris efficitur sem eget ante vestibulum vestibulum et sed ex. Quisque enim ipsum, dapibus ut interdum in, consequat at tortor. Aenean cursus tellus arcu, id placerat nisl finibus quis. Sed ullamcorper imperdiet sapien et cursus. In posuere nisl mauris.", result: false
25. "<script></script>", result: false
26. "https://192.213.23.12:231/branch/mypage/?foo=bar", result: false
27. "https://192.213.23.12:231/branch/mypage?foo=bar", result: false
28. "http://example.com/somedir/somefile/?foo1=bar1&foo2=bar2", result: false
29. "https://127.0.0.1:8080/demoapp/test/mypage.html?foo=bar", result: false
30. "http://make-it.london:8080/demoapp/test/mypage.html?foo=bar", result: false
31. "http://google.com/some/file!.html", result: false
32. "test.sub-domain3.sub-domain2.sub-domain1.domain-tld-0:8080/demoapp/test/mypage.html?foo1=bar1&foo2=bar2", result: false