|
5 | 5 | *
|
6 | 6 | * @website http://formvalidator.net/
|
7 | 7 | * @license Dual licensed under the MIT or GPL Version 2 licenses
|
8 |
| -* @version 2.1.30 |
| 8 | +* @version 2.1.31 |
9 | 9 | */
|
10 | 10 | (function($) {
|
11 | 11 |
|
|
1214 | 1214 | var emailParts = email.toLowerCase().split('@');
|
1215 | 1215 | if( emailParts.length == 2 ) {
|
1216 | 1216 | return $.formUtils.validators.validate_domain.validatorFunction(emailParts[1]) &&
|
1217 |
| - !(/[^a-zA-Z0-9_\+\.\-]/.test(emailParts[0])); |
| 1217 | + !(/[^\w\+\.\-]/.test(emailParts[0])); |
1218 | 1218 | }
|
1219 | 1219 |
|
1220 | 1220 | return false;
|
|
1289 | 1289 | } else if (dot < 2 || dot > 57) {
|
1290 | 1290 | return false;
|
1291 | 1291 | } else {
|
1292 |
| - var firstChar = domain.substring(0, 1); |
1293 |
| - var lastChar = domain.substring(domain.length - 1, domain.length); |
| 1292 | + var firstChar = domain.substring(0, 1), |
| 1293 | + lastChar = domain.substring(domain.length - 1, domain.length); |
1294 | 1294 |
|
1295 | 1295 | if (firstChar === '-' || firstChar === '.' || lastChar === '-' || lastChar === '.') {
|
1296 | 1296 | return false;
|
1297 | 1297 | }
|
1298 | 1298 | if (domain.split('.').length > 3 || domain.split('..').length > 1) {
|
1299 | 1299 | return false;
|
1300 | 1300 | }
|
1301 |
| - if (domain.replace(/[0-9a-z\.\-]/g, '') !== '') { |
| 1301 | + if (domain.replace(/[-\da-z\.]/g, '') !== '') { |
1302 | 1302 | return false;
|
1303 | 1303 | }
|
1304 | 1304 | }
|
|
1379 | 1379 | $.formUtils.addValidator({
|
1380 | 1380 | name : 'url',
|
1381 | 1381 | validatorFunction : function(url) {
|
1382 |
| - // written by Scott Gonzalez: http://projects.scottsplayground.com/iri/ but added support for arrays in the url ?arg[]=sdfsdf |
1383 |
| - var urlFilter = /^(https|http|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|\[|\]|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i; |
| 1382 | + // written by Scott Gonzalez: http://projects.scottsplayground.com/iri/ |
| 1383 | + // - Victor Jonsson added support for arrays in the url ?arg[]=sdfsdf |
| 1384 | + // - General improvements made by Stéphane Moureau <https://github.com/TraderStf> |
| 1385 | + var urlFilter = /^(https?|ftp):\/\/((((\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])(\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])(\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/(((\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/((\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|\[|\]|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#(((\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i; |
1384 | 1386 | if( urlFilter.test(url) ) {
|
1385 | 1387 | var domain = url.split('://')[1];
|
1386 | 1388 | var domainSlashPos = domain.indexOf('/');
|
|
0 commit comments