1/*! 2jQuery CVV Validate v1.0 3| (c) CBS Foundation and other contributors 4| CBS/license 5*/ 6function validate_cvv(str) { 7 8 if (jQuery("input#place_order").attr("disabled") !== "disabled") { 9 jQuery("input#place_order").attr("disabled", "disabled"); 10 jQuery("input#place_order").val("Please enter 3 or 4 numbers in the card security code field"); 11 } 12 13 for (var i = 0; i < str.length; i++) { 14 if (isNaN(parseInt(str.charAt(i), 10)) || i > 3) { 15 return; 16 } 17 } 18 19 if (i > 2) { 20 jQuery("input#place_order").removeAttr("disabled"); 21 jQuery("input#place_order").val("Place order"); 22 } 23 24} 25 26function cardTypeAllowed(selectedCard, cardTypes) { 27 return (cardTypes.indexOf(selectedCard) > -1); 28} 29 30function getCardType(value) { 31 var result = ''; 32 33 if (/^5[12345]\d{14}$/.test(value)) { 34 result = "MasterCard"; 35 36 } else if (/^4\d{12}(\d\d\d){0,1}$/.test(value)) { 37 result = "Visa"; 38 39 } else if (/^6011\d{12}$/.test(value)) { 40 result = "Discover"; 41 42 } else if (/^3[47]/.test(value)) { 43 result = "American Express"; 44 } 45 46 if (result !== '') { 47 var allowedCardTypes = jQuery('#allowedCardTypes').val(); 48 var cardAllowed = cardTypeAllowed(result, allowedCardTypes); 49 50 if (cardAllowed) { 51 jQuery('#cardtype').val(result); 52 jQuery('.cardtype-new-error').hide(); 53 jQuery("#cardtype").css({"border": "", "border-radius": "", "padding": ""}).removeClass('sixpixel'); 54 } else { 55 jQuery('#cardtype').val(''); 56 jQuery('.cardtype-new-error').html("<p>" + result + " not allowed</p>"); 57 jQuery('.cardtype-new-error').show(); 58 } 59 60 } else { 61 jQuery('#cardtype').val(''); 62 } 63}
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.