URL validation

HTML

<link rel="stylesheet" href="http://jquery.bassistance.de/validate/demo/site-demos.css">
<script src="http://jquery.bassistance.de/validate/jquery.validate.js"></script>
<script src="http://jquery.bassistance.de/validate/additional-methods.js"></script>
Form validation demo taken from <a href="http://jqueryvalidation.org/url-method">jquery doco</a>
<form id="myform">
<label for="field">Required, URL: </label>
<input class="left" id="field" name="field">
<br/>
<input type="submit" value="Validate!">
</form>

JavaScript

// jquery validation

jQuery.validator.setDefaults({
  debug: true,
  success: "valid"
});
$( "#myform" ).validate({
  rules: {
    field: {
      required: true,
      url: true
    }
  }
});

// programmatically

function testj(s) {
    var validator = $( "#myform" ).validate();
    $('#field').val(s);
    var result = validator.element( "#field" );
    console.log('result', s, result);
}

testj("http://www.page.com");
testj("http://page.com");
testj("page.com");
testj("ww.page.com");

// alternative approach


function isUrl(s) {
  var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
 
  if (!regexp.test(s)) {
                alert("Please enter valid URL.");
                return false;
            } else {
                alert("Valid URL.");
                return true;
            }
}
function test(s) {
    console.log(s, isUrl("http://page.com"))
}

test("http://www.page.com");
test("http://page.com");
test("page.com");
test("ww.page.com");