1jQuery( document ).ready( function($) { 2 3 $( document ).on( 'click', '#easy-newsletter-submit', function() { 4 5 var thisObj = $( this ); 6 var formObj = thisObj.parents( 'form#easy-newsletter-form' ); 7 8 // Get variables 9 var firstnameObj = formObj.find( 'input.wpens_firstname' ); 10 var firstname = firstnameObj.val(); 11 12 var lastnameObj = formObj.find( 'input.wpens_lastname' ); 13 var lastname = lastnameObj.val(); 14 15 var emailObj = formObj.find( 'input.wpens_email' ); 16 var email = emailObj.val(); 17 18 // Error operation 19 var error = 0; 20 formObj.find( '.wpens-error' ).remove(); 21 formObj.find( '.wpens-error-container' ).hide(); 22 23 // Validate firstname 24 if( firstname == '' ) { 25 error = 1; 26 firstnameObj.parent().append( '<span class="error wpens-error">'+WpEns.fname_empty+'</span>' ); 27 } 28 29 // Validate Email 30 if( email == '' ) { 31 error = 1; 32 emailObj.parent().append( '<span class="error wpens-error">'+WpEns.email_empty+'</span>' ); 33 } else if( !isValidEmail(email) ) { 34 error = 1; 35 emailObj.parent().append( '<span class="error wpens-error">'+WpEns.email_valid+'</span>' ); 36 } 37 38 // Check if not error 39 if( error == 0 ) { 40 41 formObj.find( '.wpens_ajax_loader' ).show(); 42 43 var data = { 44 action: 'wpens_add_newsletter', 45 firstname: firstname, 46 lastname: lastname, 47 email: email 48 }; 49 50 $.post( WpEns.ajaxurl, data, function( response ) { 51 52 var data = $.parseJSON( response ); 53 if( data.status == '0' ) { 54 formObj.find( '.wpens-message-container' ).html( data.errmsg ).fadeIn(); 55 } else { 56 formObj.find( '.wpens-message-container' ).html( data.errmsg ).fadeIn(); 57 formObj[0].reset(); 58 } 59 60 setTimeout(function(){ 61 formObj.find( '.wpens-message-container' ).html( '' ).hide(); 62 }, 4000); 63 64 formObj.find( '.wpens_ajax_loader' ).hide(); 65 66 }); // Ajax over 67 } // Not error condition over 68 69 return false; 70 }); 71 72 73}); // Over document ready 74 75// Email validation reply true if valid 76function isValidEmail( emailAddress ) { 77 var pattern = /^([a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+(\.[a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+)*|"((([ \t]*\r\n)?[ \t]+)?([\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*(([ \t]*\r\n)?[ \t]+)?")@(([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])\.?$/i; 78 return pattern.test( emailAddress ); 79};
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.