1(function($){ 2 valid = function(values) { 3 var returned,invalid,param; 4 var defaults = { 'verify': '', 'value': ''}; 5 var infos = $.extend({}, defaults, values); 6 if( (infos.value).length != 0) { 7 switch(infos.verify){ 8 case 'number': 9 !isNaN(parseInt((infos.value).replace(/[^0-9]/g,''))) ? invalid=false : invalid=true; 10 break; 11 case 'text': 12 (infos.value).length != 0 ? invalid=false : invalid=true; 13 break; 14 case 'date': 15 param = (infos.value).split('/'); 16 alert(param); 17 if( (parseInt(param[0])>1 && parseInt(param[0])<=31) 18 && (parseInt(param[1])>1 && parseInt(param[1])<=12) 19 && (parseInt(param[2])>1900 && parseInt(param[2])<=2500) ){ invalid=false; } else { invalid=true; } 20 break; 21 case 'email': 22 (infos.value).indexOf('@')>-1 && (infos.value).indexOf('.')>-1 ? invalid=false : invalid=true; 23 break; 24 } 25 } else { invalid=true; } 26 if(invalid) { return false; } else { return true; } 27 } 28})(jQuery); 29 30$(document).on('click', 'form button', function(event) { 31 var attr = $(this).attr('type'); 32 if(attr!='button'){ 33 var form = $(this).closest('form'); 34 var required = form.find('input[data-required]'); 35 if(required!=undefined){ 36 event.preventDefault(); 37 var type, val, verify, border, invalid=0, that=$(this); 38 form.find('input,textarea,select').each(function(index, el) { 39 border = $(el).css('border'); 40 if($(el).attr('data-required')){ 41 type = $(el).data('required'); 42 val = $(el).val(); 43 verify = valid({ verify:type, value:val }); 44 if(!verify) { 45 $(el).css('border-color','red'); 46 invalid++; 47 } else { 48 $(el).css('border',border); 49 } 50 } 51 }); 52 if(!invalid){ form.submit(); } 53 } 54 } 55}); 56 57$(document).on('keyup', 'form input[data-mask]', function(event) { 58 var type = $(this).data('required'), val = $(this).val(), maskComp=[], j=0, result=''; 59 type=='number' ? val = val.replace(/[^0-9]/g,'') : val = val.replace(/[^a-zA-Z0-9]/g,''); 60 var strSplit = val.split(''); 61 var maskSplit = ($(this).data('mask')).split(''); 62 $(this).attr('maxlength',maskSplit.length); 63 if(strSplit.length<=maskSplit.length){ 64 for (var i = 0; i <= maskSplit.length; i++) { 65 if( maskSplit[i]!='#' && strSplit[j]!=undefined ) { maskComp.push(maskSplit[i]); } 66 if( maskSplit[i]=='#' && strSplit[j]!=undefined ) { maskComp.push(strSplit[j]); j++; } 67 } 68 for (var i = 0; i < maskComp.length; i++) { if(maskComp[i]!=undefined) result = result + maskComp[i]; } 69 this.value = result; 70 } 71}); 72 73/* DOCS 74 >> data-required: 75 - number 76 - text 77 - date 78 - email 79 80 >> data-mask: 81 Ex.: 82 - (##) # ####.#### 83 - ##/##/#### 84 85 >> data-type 86 - number 87*/
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.