Merge pull request #276 from creative-commoners/pulls/3.1/deprotocol-my-site

Validate protocol-less URLs
This commit is contained in:
Guy Marriott 2019-01-11 15:18:27 +13:00 committed by GitHub
commit f5c7024aaf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2,7 +2,16 @@
* @package comments * @package comments
*/ */
(function($) { (function($) {
// The above closure encapsulates the $ variable away from the global scope
// and the one below is the `$(document).ready(...)` shorthand.
$(function() { $(function() {
// Override the default URL validator in order to extend it to allow protocol-less URLs
$.validator.methods.url = function( value, element ) {
// This line is copied directly from the jQuery.validation source (version 1.19.0)
// the only change is a single question mark added here ---------v
return this.optional( element ) || /^(?:(?:(?:https?|ftp):)?\/\/)?(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[/?#]\S*)?$/i.test( value );
}
/** /**
* Enable form validation * Enable form validation
*/ */