1// limit user input by input class 2 3$(document).on("keydown", ".numbersonlyinput", function (e) { 4 5 var label = $(this).attr("warninglabel"); 6 if (label) { 7 $("#" + label).hide(); 8 } 9 10 -1 !== $.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) || 11 /65|67|86|88/.test(e.keyCode) && (!0 === e.ctrlKey || !0 === e.metaKey) || 12 35 <= e.keyCode && 40 >= e.keyCode || 13 (e.shiftKey || 48 > e.keyCode || 57 < e.keyCode) && 14 (96 > e.keyCode || 105 < e.keyCode) && 15 e.preventDefault(); 16 17 if (e.isDefaultPrevented()) { 18 if (label) { 19 $("#" + label).show(); 20 } 21 } 22}); 23$(document).on("paste", ".numbersonlyinput", function (e) { 24 var pastedData = e.originalEvent.clipboardData.getData('text'); 25 if (!IsNumeric(pastedData)) { 26 e.preventDefault(); 27 } 28}); 29 30$(document).on("keydown", ".numbersonlyinputallownegative", function (e) { 31 if (e.keyCode == 189 || e.keyCode == 109) { // pressing the "-" key 32 if ($(this).val().length != 0) { // only allow the first char to be "-" 33 e.preventDefault(); 34 return false; 35 } 36 } 37 38 -1 !== $.inArray(e.keyCode, [46, 8, 9, 27, 13, 109, 110, 190, 189]) || 39 /65|67|86|88/.test(e.keyCode) && (!0 === e.ctrlKey || !0 === e.metaKey) || 40 35 <= e.keyCode && 40 >= e.keyCode || 41 (e.shiftKey || 48 > e.keyCode || 57 < e.keyCode) && 42 (96 > e.keyCode || 105 < e.keyCode) && 43 e.preventDefault(); 44}); 45$(document).on("paste", ".numbersonlyinputallownegative", function (e) { 46 var pastedData = e.originalEvent.clipboardData.getData('text'); 47 if (!IsNumeric(pastedData, true)) { 48 e.preventDefault(); 49 } 50}); 51 52$(document).on("keydown", ".numbersonlynodecimalinput", function (e) { 53 -1 !== $.inArray(e.keyCode, [46, 8, 9, 27, 13]) || 54 /65|67|86|88/.test(e.keyCode) && (!0 === e.ctrlKey || !0 === e.metaKey) || 55 35 <= e.keyCode && 40 >= e.keyCode || 56 (e.shiftKey || 48 > e.keyCode || 57 < e.keyCode) && 57 (96 > e.keyCode || 105 < e.keyCode) && 58 e.preventDefault(); 59}); 60$(document).on("paste", ".numbersonlynodecimalinput", function (e) { 61 var pastedData = e.originalEvent.clipboardData.getData('text'); 62 if (!IsNumericNoDecimal(pastedData)) { 63 e.preventDefault(); 64 } 65}); 66 67$(document).on("keydown", ".nospecialchars", function (e) { 68 var val = e.key; 69 var label = $(this).attr("warninglabel"); 70 if (label) { 71 $("#" + label).hide(); 72 } 73 if (val) { 74 //special chars 75 if (IsSpecialCharacter(val)) { 76 e.preventDefault(); 77 if (label) { 78 $("#" + label).show(); 79 } 80 } 81 } 82 //no spaces 83 if (e.keyCode === 32) { 84 e.preventDefault(); 85 } 86 87 val.replace('-', ''); 88 89}); 90$(document).on("paste", ".nospecialchars", function (e) { 91 var pastedData = e.originalEvent.clipboardData.getData('text'); 92 var label = $(e.currentTarget).attr("warninglabel"); 93 if (label) { 94 $("#" + label).hide(); 95 } 96 if (IsSpecialCharacter(pastedData)) { 97 if (label) { 98 $("#" + label).show(); 99 } 100 e.preventDefault(); 101 } 102}); 103$(document).on("textInput", ".nospecialchars", function (e) { 104 var keyCode = e.originalEvent.data; 105 var label = $(e.originalEvent.currentTarget).attr("warninglabel"); 106 if (label) { 107 $("#" + label).hide(); 108 } 109 if (IsSpecialCharacter(keyCode)) { 110 if (label) { 111 $("#" + label).show(); 112 } 113 e.preventDefault(); 114 } 115}); 116$(document).on("keydown", ".lettersonly", function (e) { 117 var val = e.key; 118 var label = $(this).attr("warninglabel"); 119 if (label) { 120 $("#" + label).hide(); 121 } 122 if (val) { 123 //alphabetical chars 124 if (!IsAlphabeticalCharacter(val) && e.keyCode !== 32) { 125 e.preventDefault(); 126 if (label) { 127 $("#" + label).show(); 128 } 129 } 130 } 131}); 132$(document).on("paste", ".lettersonly", function (e) { 133 var pastedData = e.originalEvent.clipboardData.getData('text'); 134 var label = $(e.currentTarget).attr("warninglabel"); 135 if (label) { 136 $("#" + label).hide(); 137 } 138 if (!IsAlphabeticalCharacter(pastedData)) { 139 if (label) { 140 $("#" + label).show(); 141 } 142 e.preventDefault(); 143 } 144}); 145 146function IsSpecialCharacter(val) { 147 if (val) { 148 var regex = new RegExp("^[a-zA-Z0-9]+$"); 149 //special chars 150 if (!regex.test(val)) { 151 return true; 152 } 153 } 154 return false; 155} 156 157function IsNumeric(val, allowNegative) { 158 allowNegative = allowNegative == true; // optional param, default to false 159 var regex = allowNegative ? new RegExp("^-?[0-9.]+$") : new RegExp("^[0-9.]+$"); 160 return (regex.test(val)); 161} 162 163function IsNumericNoDecimal(val) { 164 if (val) { 165 var regex = new RegExp("^[0-9]+$"); 166 //special chars 167 if (regex.test(val)) { 168 return true; 169 } 170 } 171 return false; 172} 173 174function IsAlphabeticalCharacter(val) { 175 if (val) { 176 var regex = new RegExp("^[a-zA-Z]+$"); 177 //alphabetical chars 178 if (regex.test(val)) { 179 return true; 180 } 181 } 182 return false; 183}
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.