PageSourceSearch

https://www.mbaoutletbike.it/store/modules/kbcustomfield/views/js/velovalidation.js

js mbaoutletbike.it collected 2026-10-09 02:46:27 UTC 40,163 bytes, 963 lines download raw bytes

1/**
2 * DISCLAIMER
3 *
4 * Do not edit or add to this file if you wish to upgrade PrestaShop to newer
5 * versions in the future. If you wish to customize PrestaShop for your
6 * needs please refer to http://www.prestashop.com for more information.
7 * We offer the best and most useful modules PrestaShop and modifications for your online store.
8 *
9 * @author    knowband.com <[email protected]>
10 * @copyright 2017 Knowband
11 * @license   see file: LICENSE.txt
12 * @category  PrestaShop Module
13 *
14 *
15*/
16
17var velovalidation = {
18    language: {},
19    script_regex: /(<script[\s\S]*?>[\s\S]*?<\/script>)|(<script[\s\S]*?>)|([\s\S]*?<\/script>)/i,
20    style_regex: /(<style[\s\S]*?>[\s\S]*?<\/style>)|(<style[\s\S]*?>)|([\s\S]*?<\/style>)/i,
21    iframe_regex: /(<iframe[\s\S]*?>[\s\S]*?<\/iframe>)|(<iframe[\s\S]*?>)|([\s\S]*?<\/iframe>)/i,
22    specail_chars: "*|,\":<>[]{}`\';()@&$#%",
23    checkTags: function (ele) {
24        var val = ele.val().trim();
25        var return_val = true;
26        if (this.script_regex.test(val)) {
27            return_val = velovalidation.error('script');
28        } else if (this.style_regex.test(val)) {
29            return_val = velovalidation.error('style');
30        } else if (this.iframe_regex.test(val)) {
31            return_val = velovalidation.error('iframe');
32        }
33        return return_val;
34    },
35    checkFirstname: function (ele) {
36        var val = ele.val().trim();
37        var return_val = true;
38        var maxchar = typeof maxchar !== 'undefined' ? maxchar : 32;
39        var minchar = typeof minchar !== 'undefined' ? minchar : 1;
40        if (val != '') {
41            var tag_check = velovalidation.checkTags(ele);
42            if (tag_check != true) {
43                return tag_check;
44            }
45            if (val.length <= maxchar) {
46                if (val.length < minchar) {
47                    return_val = velovalidation.error('minchar_fname').replace(/#/g, minchar);
48                }
49            } else {
50                return_val = velovalidation.error('maxchar_fname').replace(/#/g, maxchar);
51            }
52        }
53        return return_val;
54    },
55    checkMidname: function (ele) {
56        var val = ele.val().trim();
57        var return_val = true;
58        var maxchar = typeof maxchar !== 'undefined' ? maxchar : 32;
59        var minchar = typeof minchar !== 'undefined' ? minchar : 1;
60        if (val != '') {
61            var tag_check = velovalidation.checkTags(ele);
62            if (tag_check != true) {
63                return tag_check;
64            }
65            if (val.length <= maxchar) {
66                if (val.length < minchar) {
67                    return_val = velovalidation.error('minchar_mname').replace(/#/g, minchar);
68                }
69            } else {
70                return_val = velovalidation.error('maxchar_mname').replace(/#/g, maxchar);
71            }
72        }
73        return return_val;
74    },
75    checkLastname: function (ele) {
76        var val = ele.val().trim();
77        var return_val = true;
78        var maxchar = typeof maxchar !== 'undefined' ? maxchar : 32;
79        var minchar = typeof minchar !== 'undefined' ? minchar : 1;
80        if (val != '') {
81            var tag_check = velovalidation.checkTags(ele);
82            if (tag_check != true) {
83                return tag_check;
84            }
85            if (val.length <= maxchar) {
86                if (val.length < minchar) {
87                    return_val = velovalidation.error('minchar_lname').replace(/#/g, minchar);
88                }
89            } else {
90                return_val = velovalidation.error('maxchar_lname').replace(/#/g, maxchar);
91            }
92        }
93        return return_val;
94    },
95    checkPassword: function (ele) {
96        var val = ele.val().trim();
97        var return_val = true;
98        var maxchar = typeof maxchar !== 'undefined' ? maxchar : 40;
99        var minchar = typeof minchar !== 'undefined' ? minchar : 6;
100        if (val != '') {
101            var tag_check = velovalidation.checkTags(ele);
102            if (tag_check != true) {
103                return tag_check;
104            }
105            if (val.length <= maxchar) {
106                if (val.length < minchar) {
107                    return_val = velovalidation.error('minchar_pass').replace(/#/g, minchar);
108                } else {
109
110                    if (!val.match(".*[A-Z].*"))
111                        return velovalidation.error('capital_alphabets_pass');
112
113                    if (!val.match(".*[a-z].*"))
114                        return velovalidation.error('small_alphabets_pass');
115
116                    if (!val.match(".*\\d.*"))
117                        return velovalidation.error('digit_pass');
118
119                    var splChars = "*|,\":<>[]{}`\';()@&$#%";
120                    var splChars_exist = false;
121                    for (var i = 0; i < val.length; i++) {
122                        if (splChars.indexOf(val.charAt(i)) != -1) {
123                            splChars_exist = true;
124                            break;
125                        }
126                    }
127                    if (!splChars_exist) {
128                        return velovalidation.error('specialchar_pass');
129                    }
130                }
131            } else {
132                return_val = velovalidation.error('maxchar_pass').replace(/#/g, maxchar);
133            }
134
135        }
136        return return_val;
137    },
138    checkMandatory: function (ele, maxchar, minchar) {
139        var val = ele.val().trim();
140        var maxchar = typeof maxchar !== 'undefined' ? maxchar : 255;
141        var minchar = typeof minchar !== 'undefined' ? minchar : 0;
142        var return_val = true;
143        if (val == '') {
144            return_val = velovalidation.error('empty_field');
145        } else if (val.length > maxchar) {
146            return_val = velovalidation.error('maxchar_field').replace(/#/g, maxchar);
147        } else if (val.length < minchar) {
148            return_val = velovalidation.error('minchar_field').replace(/#/g, minchar);
149        } else {
150            var tag_check = velovalidation.checkTags(ele);
151            if (tag_check != true) {
152                return tag_check;
153            }
154        }
155        return return_val;
156    },
157    checkMandatoryOnly: function (ele) {
158       var val = ele.val().trim();
159       var return_val = true;
160       if (val == '') {
161           return_val = velovalidation.error('empty_field');
162       }
163       return return_val;
164    },
165    checkAmount: function (ele) {
166        var val = ele.val().trim();
167        var return_val = true;
168        if (val != '') {
169            if (!val.match(/^-?\d*(\.\d+)?$/)) {
170                return_val = velovalidation.error('valid_amount');
171            } else if (!val.match(/^-?\d*(\.\d{1,2})?$/)){
172                return_val = velovalidation.error('valid_decimal');
173            } else if (val < 0) {
174                return_val = velovalidation.error('positive_amount');
175            }
176        }
177        return return_val;
178    },
179    checkPercentage: function (ele) {
180        var val = ele.val().trim();
181        var return_val = true;
182        if (val != '') {
183            if (!val.match(/^-?\d*(\.\d+)?$/)) {
184                return_val = velovalidation.error('valid_percentage');
185            } else if (val < 0 || val > 100) {
186                return_val = velovalidation.error('between_percentage');
187            }
188        }
189        return return_val;
190    },
191    isNumeric: function (ele, positive) {
192       var val = ele.val().trim();
193       positive = typeof positive !== 'undefined' ? positive : true;
194       var return_val = true;
195           if (!(/^-?\d*?\d+$/.test(val))) {
196               return_val = velovalidation.error('number_field');
197           }
198           if (positive && return_val == true) {
199               if (val < 0) {
200                   return_val = velovalidation.error('number_pos');
201               }
202           }
203       return return_val;
204   },
205    isBetween: function (ele, min, max) {
206        var val = ele.val().trim();
207        var return_val = true;
208        if (val != '') {
209            if (val >= min && val <= max) {
210                return return_val;
211            } else {
212                return_val = velovalidation.error('validate_range').replace(/#/g, min).replace(/##/g, max);
213            }
214        }
215        return return_val;
216    },
217    checkEmail: function (ele) {
218        var val = ele.val().trim();
219        var return_val = true;
220        var maxchar = typeof maxchar !== 'undefined' ? maxchar : 96;
221        var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
222        if (val != '') {
223            if (val.length > maxchar) {
224                return_val = velovalidation.error('max_email').replace(/#/g, maxchar);
225            } else if (!regex.test(val)) {
226                return_val = velovalidation.error('validate_email');
227            }
228        }
229        return return_val;
230    },
231    checkCountry: function (ele) {
232        var val = ele.val().trim();
233        var return_val = true;
234        var maxchar = typeof maxchar !== 'undefined' ? maxchar : 64;
235        var minchar = typeof minchar !== 'undefined' ? minchar : 3;
236        if (val != '') {
237            var tag_check = velovalidation.checkTags(ele);
238            if (tag_check != true) {
239                return tag_check;
240            }
241            if (val.length <= maxchar) {
242                if (val.length < minchar) {
243                    return_val = velovalidation.error('minchar_country').replace(/#/g, minchar);
244                }
245            } else {
246                return_val = velovalidation.error('maxchar_country').replace(/#/g, maxchar);
247            }
248        }
249        return return_val;
250    },
251    checkState: function (ele) {
252        var val = ele.val().trim();
253        var return_val = true;
254        var maxchar = typeof maxchar !== 'undefined' ? maxchar : 64;
255        var minchar = typeof minchar !== 'undefined' ? minchar : 3;
256        if (val != '') {
257            var tag_check = velovalidation.checkTags(ele);
258            if (tag_check != true) {
259                return tag_check;
260            }
261            if (val.length <= maxchar) {
262                if (val.length < minchar) {
263                    return_val = velovalidation.error('minchar_state').replace(/#/g, minchar);
264                }
265            } else {
266                return_val = velovalidation.error('maxchar_state').replace(/#/g, maxchar);
267            }
268        }
269        return return_val;
270    },
271    checkCity: function (ele) {
272        var val = ele.val().trim();
273        var return_val = true;
274        var maxchar = typeof maxchar !== 'undefined' ? maxchar : 64;
275        var minchar = typeof minchar !== 'undefined' ? minchar : 3;
276        if (val != '') {
277            var tag_check = velovalidation.checkTags(ele);
278            if (tag_check != true) {
279                return tag_check;
280            }
281            if (val.length <= maxchar) {
282                if (val.length < minchar) {
283                    return_val = velovalidation.error('minchar_city').replace(/#/g, minchar);
284                }
285            } else {
286                return_val = velovalidation.error('maxchar_city').replace(/#/g, maxchar);
287            }
288        }
289        return return_val;
290    },
291    checkProductName: function (ele) {
292        var val = ele.val().trim();
293        var return_val = true;
294        var maxchar = typeof maxchar !== 'undefined' ? maxchar : 255;
295        var minchar = typeof minchar !== 'undefined' ? minchar : 3;
296        if (val != '') {
297            var tag_check = velovalidation.checkTags(ele);
298            if (tag_check != true) {
299                return tag_check;
300            }
301            if (val.length <= maxchar) {
302                if (val.length < minchar) {
303                    return_val = velovalidation.error('minchar_proname').replace(/#/g, minchar);
304                }
305            } else {
306                return_val = velovalidation.error('maxchar_proname').replace(/#/g, maxchar);
307            }
308        }
309        return return_val;
310    },
311    checkCategoryName: function (ele) {
312        var val = ele.val().trim();
313        var return_val = true;
314        var maxchar = typeof maxchar !== 'undefined' ? maxchar : 255;
315        var minchar = typeof minchar !== 'undefined' ? minchar : 3;
316        if (val != '') {
317            var tag_check = velovalidation.checkTags(ele);
318            if (tag_check != true) {
319                return tag_check;
320            }
321            if (val.length <= maxchar) {
322                if (val.length < minchar) {
323                    return_val = velovalidation.error('minchar_catname').replace(/#/g, minchar);
324                }
325            } else {
326                return_val = velovalidation.error('maxchar_catname').replace(/#/g, maxchar);
327            }
328        }
329        return return_val;
330    },
331    checkZip: function (ele) {
332        var val = ele.val().trim();
333        var return_val = true;
334        var maxchar = typeof maxchar !== 'undefined' ? maxchar : 10;
335        var minchar = typeof minchar !== 'undefined' ? minchar : 4;
336        if (val != '') {
337            var tag_check = velovalidation.checkTags(ele);
338            if (tag_check != true) {
339                return tag_check;
340            }
341            if (val.length <= maxchar) {
342                if (val.length < minchar) {
343                    return_val = velovalidation.error('minchar_zip').replace(/#/g, minchar);
344                }
345            } else {
346                return_val = velovalidation.error('maxchar_zip').replace(/#/g, maxchar);
347            }
348            var splChars = "*|,\":<>[]{}`\';()@&$#%";
349            for (var i = 0; i < val.length; i++) {
350                if (splChars.indexOf(val.charAt(i)) != -1) {
351                    return_val = velovalidation.error('specialchar_zip');
352                    break;
353                }
354            }
355        }
356        return return_val;
357    },
358        checkUsername: function (ele) {
359        var val = ele.val().trim();
360        var return_val = true;
361        var maxchar = typeof maxchar !== 'undefined' ? maxchar : 100;
362        var minchar = typeof minchar !== 'undefined' ? minchar : 3;
363        if (val != '') {
364            var tag_check = velovalidation.checkTags(ele);
365            if (tag_check != true) {
366                return tag_check;
367            }
368            if (val.length <= maxchar) {
369                if (val.length < minchar) {
370                    return_val = velovalidation.error('minchar_username').replace(/#/g, minchar);
371                }
372            } else {
373                return_val = velovalidation.error('maxchar_username').replace(/#/g, maxchar);
374            }
375        }
376        return return_val;
377    },
378    checkDateddmmyy: function (ele) {
379        var dateformat = /^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$/;
380        var return_val = true;
381        var val = ele.val().trim();
382        if (val != '') {
383            if (val.match(dateformat))
384            {
385                var opera1 = val.split('/');
386                var opera2 = val.split('-');
387                lopera1 = opera1.length;
388                lopera2 = opera2.length;
389                if (lopera1 > 1)
390                {
391                    var pdate = val.split('/');
392                }
393                else if (lopera2 > 1)
394                {
395                    var pdate = val.split('-');
396                }
397                var dd = parseInt(pdate[0]);
398                var mm = parseInt(pdate[1]);
399                var yy = parseInt(pdate[2]);
400                var ListofDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
401                if (mm == 1 || mm > 2)
402                {
403                    if (dd > ListofDays[mm - 1])
404                    {
405                        return_val = velovalidation.error('invalid_date');
406                    }
407                }
408                if (mm == 2)
409                {
410                    var lyear = false;
411                    if ((!(yy % 4) && yy % 100) || !(yy % 400))
412                    {
413                        lyear = true;
414                    }
415      
415              if ((lyear == false) && (dd >= 29))
416                    {
417                        return_val = velovalidation.error('invalid_date');
418                    }
419                    if ((lyear == true) && (dd > 29))
420                    {
421                        return_val = velovalidation.error('invalid_date');
422                    }
423                }
424            }
425            else
426            {
427                return_val = velovalidation.error('invalid_date');
428            }
429        } else {
430            return_val = velovalidation.error('invalid_date');
431        }
432        return return_val;
433    },
434    checkDatemmddyy: function (ele) {
435        var dateformat = /^(0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])[\/\-]\d{4}$/;
436        var return_val = true;
437        var val = ele.val().trim();
438        if (val != '') {
439            if (val.match(dateformat)) {
440                var opera1 = val.split('/');
441                var opera2 = val.split('-');
442                lopera1 = opera1.length;
443                lopera2 = opera2.length;
444                // Extract the string into month, date and year  
445                if (lopera1 > 1)
446                {
447                    var pdate = val.split('/');
448                }
449                else if (lopera2 > 1)
450                {
451                    var pdate = val.split('-');
452                }
453                var mm = parseInt(pdate[0]);
454                var dd = parseInt(pdate[1]);
455                var yy = parseInt(pdate[2]);
456                // Create list of days of a month [assume there is no leap year by default]  
457                var ListofDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
458                if (mm == 1 || mm > 2)
459                {
460                    if (dd > ListofDays[mm - 1])
461                    {
462                        return_val = velovalidation.error('invalid_date');
463                    }
464                }
465                if (mm == 2)
466                {
467                    var lyear = false;
468                    if ((!(yy % 4) && yy % 100) || !(yy % 400))
469                    {
470                        lyear = true;
471                    }
472                    if ((lyear == false) && (dd >= 29))
473                    {
474                        return_val = velovalidation.error('invalid_date');
475                    }
476                    if ((lyear == true) && (dd > 29))
477                    {
478                        return_val = velovalidation.error('invalid_date');
479                    }
480                }
481            }
482            else
483            {
484                return_val = velovalidation.error('invalid_date');
485            }
486        } else {
487            return_val = velovalidation.error('invalid_date');
488        }
489        return return_val;
490    },
491    checkSKU: function (ele) {
492        var val = ele.val().trim();
493        var return_val = true;
494        var maxchar = typeof maxchar !== 'undefined' ? maxchar : 64;
495        if (val != '') {
496            var tag_check = velovalidation.checkTags(ele);
497            if (tag_check != true) {
498                return tag_check;
499            }
500            if (val.length <= maxchar) {
501                var splChars = "*|,\":<>[]{}`\';()@&$#%";
502                for (var i = 0; i < val.length; i++) {
503                    if (splChars.indexOf(val.charAt(i)) != -1) {
504                        return_val = velovalidation.error('specialchar_sku');
505                        break;
506                    }
507                }
508            } else {
509                return_val = velovalidation.error('maxchar_sku').replace(/#/g, maxchar);
510            }
511        }
512
513        return return_val;
514    },
515    checkPhoneNumber: function (ele) {
516        var val = ele.val().trim();
517        var return_val = true;
518        var maxchar = typeof maxchar !== 'undefined' ? maxchar : 32;
519        var regex = /^[0-9()-]+$/;
520        if (val != '') {
521            var tag_check = velovalidation.checkTags(ele);
522            if (tag_check != true) {
523                return tag_check;
524            }
525            if (val.length <= maxchar) {
526                if (!regex.test(val)) {
527                    return_val = velovalidation.error('invalid_phone');
528                }
529            } else {
530                return_val = velovalidation.error('maxchar_phone').replace(/#/g, maxchar);
531            }
532        }
533
534        return return_val;
535    },
536    checkAddress: function (ele) {
537        var val = ele.val().trim();
538        var return_val = true;
539        var maxchar = typeof maxchar !== 'undefined' ? maxchar : 128;
540        var minchar = typeof minchar !== 'undefined' ? minchar : 1;
541        if (val != '') {
542            var tag_check = velovalidation.checkTags(ele);
543            if (tag_check != true) {
544                return tag_check;
545            }
546            if (val.length <= maxchar) {
547                if (val.length < minchar) {
548                    return_val = velovalidation.error('minchar_address').replace(/#/g, minchar);
549                }
550            } else {
551                return_val = velovalidation.error('maxchar_address').replace(/#/g, maxchar);
552            }
553        }
554
555        return return_val;
556    },
557    checkCompany: function (ele) {
558        var val = ele.val().trim();
559        var return_val = true;
560        var maxchar = typeof maxchar !== 'undefined' ? maxchar : 32;
561        if (val != '') {
562            var tag_check = velovalidation.checkTags(ele);
563            if (tag_check != true) {
564                return tag_check;
565            }
566            if (val.length <= maxchar) {
567            } else {
568                return_val = velovalidation.error('maxchar_company').replace(/#/g, maxchar);
569            }
570        }
571
572        return return_val;
573    },
574    checkBrandName: function (ele) {
575        var val = ele.val().trim();
576        var return_val = true;
577        var maxchar = typeof maxchar !== 'undefined' ? maxchar : 64;
578        if (val != '') {
579            var tag_check = velovalidation.checkTags(ele);
580            if (tag_check != true) {
581                return tag_check;
582            }
583            if (val.length <= maxchar) {
584            } else {
585                return_val = velovalidation.error('maxchar_brand').replace(/#/g, maxchar);
586            }
587        }
588        return return_val;
589    },
590    checkCarrierName: function (ele) {
591        var val = ele.val().trim();
592        var return_val = true;
593        var maxchar = typeof maxchar !== 'undefined' ? maxchar : 255;
594        if (val != '') {
595            var tag_check = velovalidation.checkTags(ele);
596            if (tag_check != true) {
597                return tag_check;
598            }
599            if (val.length <= maxchar) {
600            } else {
601                return_val = velovalidation.error('maxchar_shipment').replace(/#/g, maxchar);
602            }
603        }
604        return return_val;
605    },
606    checkIP: function (ele) {
607        var val = ele.val().trim();
608        var return_val = true;
609        var testip = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
610        if (val != '') {
611            if (!val.match(testip)) {
612                return_val = velovalidation.error('invalid_ip');
613            }
614        }
615        return return_val;
616    },
617    checkUrl: function (ele) {
618        var val = ele.val().trim();
619        var return_val = true;
620        var myRegExp = /^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]+-?)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]+-?)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/i;
621        var maxchar = typeof maxchar !== 'undefined' ? maxchar : 255;
622        if (val != '') {
623            var tag_check = velovalidation.checkTags(ele);
624            if (tag_check != true) {
625                return tag_check;
626            }
627            if (val.length <= maxchar) {
628                if (!myRegExp.test(val)) {
629                    return_val = velovalidation.error('invalid_url');
630                }
631            } else {
632                return_val = velovalidation.error('max_url').replace(/#/g, maxchar);
633            }
634        }
635        return return_val;
636    },
637    checkSize: function (ele) {
638        var val = ele.val().trim();
639        var return_val = true;
640        var maxchar = typeof maxchar !== 'undefined' ? maxchar : 10;
641        if (val != '') {
642            var tag_check = velovalidation.checkTags(ele);
643            if (tag_check != true) {
644                return tag_check;
645            }
646            if (val.length <= maxchar) {
647                var splChars = "*|,\":<>[]{}`\';()@&$#%";
648                for (var i = 0; i < val.length; i++) {
649                    if (splChars.indexOf(val.charAt(i)) != -1) {
650                        return_val = velovalidation.error('specialchar_size');
651                        break;
652                    }
653                }
654            } else {
655                return_val = velovalidation.error('maxchar_size').replace(/#/g, maxchar);
656            }
657        }
658        return return_val;
659    },
660    checkUPC: function (ele) {
661        var val = ele.val().trim();
662        var return_val = true;
663        var maxchar = typeof maxchar !== 'undefined' ? maxchar : 12;
664        if (val != '') {
665            var tag_check = velovalidation.checkTags(ele);
666            if (tag_check != true) {
667                return tag_check;
668            }
669            if (val.length <= maxchar) {
670                var splChars = "*|,\":<>[]{}`\';()@&$#%";
671                for (var i = 0; i < val.length; i++) {
672                    if (splChars.indexOf(val.charAt(i)) != -1) {
673                        return_val = velovalidation.error('specialchar_upc');
674                        break;
675                    }
676                }
677            } else {
678                return_val = velovalidation.error('maxchar_upc').replace(/#/g, maxchar);
679            }
680        }
681        return return_val;
682    },
683    checkEAN: function (ele) {
684        var val = ele.val().trim();
685        var return_val = true;
686        var maxchar = typeof maxchar !== 'undefined' ? maxchar : 14;
687        if (val != '') {
688            var tag_check = velovalidation.checkTags(ele);
689            if (tag_check != true) {
690                return tag_check;
691            }
692            if (val.length <= maxchar) {
693                var splChars = "*|,\":<>[]{}`\';()@&$#%";
694                for (var i = 0; i < val.length; i++) {
695                    if (splChars.indexOf(val.charAt(i)) != -1) {
696                        return_val = velovalidation.error('specialchar_ean');
697                        break;
698                    }
699                }
700            } else {
701                return_val = velovalidation.error('maxchar_ean').replace(/#/g, maxchar);
702            }
703        }
704        return return_val;
705    },
706    checkBarcode: function (ele) {
707        var val = ele.val().trim();
708        var return_val = true;
709        var maxchar = typeof maxchar !== 'undefined' ? maxchar : 255;
710        if (val != '') {
711            var tag_check = velovalidation.checkTags(ele);
712            if (tag_check != true) {
713                return tag_check;
714            }
715            if (val.length <= maxchar) {
716                var splChars = "*|,\":<>[]{}`\';()@&$#%";
717                for (var i = 0; i < val.length; i++) {
718                    if (splChars.indexOf(val.charAt(i)) != -1) {
719                        return_val = velovalidation.error('specialchar_bar');
720                        break;
721                    }
722                }
723            } else {
724                return_val = velovalidation.error('maxchar_bar').replace(/#/g, maxchar);
725            }
726        }
727        return return_val;
728    },
729    isColor: function (ele) {
730        var val = ele.val().trim();
731        var firstchar = val.charAt(0);
732        var return_val = true;
733        if (val != '') {
734            val = val.substr(1);
735            var maxchar = typeof maxchar !== 'undefined' ? maxchar : 7;
736            if(firstchar != '#'){
737                return velovalidation.error('invalid_color');
738            }
739            var tag_check = velovalidation.checkTags(ele);
740            if (tag_check != true) {
741                return tag_check;
742            }
743            var myRegExp = /(^[0-9A-F]{6}$)|(^[0-9A-F]{3}$)/i;
744            if (!myRegExp.test(val)) {
745                return_val = velovalidation.error('invalid_color');
746            }
747        }
748        return return_val;
749    },
750    isSpecialChar: function (ele) {
751        var val = ele.val().trim();
752        var return_val = true;
753        var splChars = "*|,\":<>[]{}`\';()@&$#%";
754        for (var i = 0; i < val.length; i++) {
755            if (splChars.indexOf(val.charAt(i)) != -1) {
756                return_val = velovalidation.error('specialchar');
757                break;
758            }
759        }
760        return return_val;
761    },
762    checkImage: function (ele, setsize, checkby) {
763        var val = ele.val().trim();
764        var return_val = true;
765        /* default size 2 MB */
766        setsize = typeof setsize !== 'undefined' ? setsize : 2097152;
767        checkby = typeof checkby !== 'undefined' ? checkby : 'kb';
768        var show = '';
769        var maxval = 0;
770        switch (checkby) {
771            case 'b':
772                show = 'bytes';
773                maxval = setsize;
774                break;
775            case 'kb':
776                show = 'KB';
777                maxval = setsize / 1024;
778                break;
779
780            case 'mb':
781                show = 'MB';
782                maxval = setsize / (1024 * 1024);
783                break;
784            default:
785                show = 'KB';
786                maxval = setsize / 1024;
787        }
788
789        if (ele.prop("files")[0].size > setsize) {
790            return_val = velovalidation.error('image_size').replace(/#/g, maxval + ' ' + show);
791        }
792        var Extension = val.substring(val.lastIndexOf('.') + 1).toLowerCase();
793        if (Extension == "jpeg" || Extension == "JPEG" || Extension == "png" || Extension == "jpg" || Extension == "gif") {
794        } else {
795            return_val = velovalidation.error('not_image');
796        }
797        return return_val;
798    },
799    checkAllIP: function (ele, separator) {
800        var val = ele.val().trim();
801        var return_val = true;
802        if (val != '') {
803            separator = typeof separator !== 'undefined' ? separator : ',';
804            var result = val.split(separator);
805            var error = false;
806            $.each(result, function (key, value) {
807                var testip = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
808                if (!value.match(testip)) {
809                    error = true;
810                }
811            });
812            if (error) {
813                return_val = velovalidation.error('invalid_ip');
814            }
815        }
816        return return_val;
817    },
818    checkCommaSeparateValue: function(ele,separator){
819        var val = ele.val().trim();
820        var return_val = true;
821        if (val != '') {
822            separator = typeof separator !== 'undefined' ? separator : ',';
823            var result = val.split(separator);
824            var error = false;
825            $.each(result, function (key, value) {
826                if (value == "") {
827                    error = true;
828                }
829            });
830            if (error) {
831                return_val = velovalidation.error('invalid_separator').replace(/#/g,separator);
832            }
833        }
834        return return_val;
835    },
836    checkHtmlTags: function (ele) {
837        var val = ele.val().trim();
838        var return_val = true;
839        if (val != '') {
840            if(val.match(/([\<])([^\>]{1,})*([\>])/i)){
841                return_val = velovalidation.error('html_tags');
842            }
843        }
844        return return_val;
845    },
846    error: function (key) {
847        var error_arr = {
848            empty_fname: 'Please enter First name.',
849            maxchar_fname: 'First name cannot be greater than # characters.',
850            minchar_fname: 'First name cannot be less than # characters.',
851            empty_mname: 'Please enter middle name.',
852            maxchar_mname: 'Middle name cannot be greater than # characters.',
853            minchar_mname: 'Middle name cannot be less than # characters.',
854            only_alphabet: 'Only alphabets are allowed.',
855            empty_lname: 'Please enter Last name.',
856            maxchar_lname: 'Last name cannot be greater than # characters.',
857            minchar_lname: 'Last name cannot be less than # characters.',
858            alphanumeric: 'Field should be alphanumeric.',
859            empty_pass: 'Please enter Password.',
860            maxchar_pass: 'Password cannot be greater than # characters.',
861            minchar_pass: 'Password cannot be less than # characters.',
862            specialchar_pass: 'Password should contain atleast 1 special character.',
863            alphabets_pass: 'Password should contain alphabets.',
864            capital_alphabets_pass: 'Password should contain atleast 1 capital letter.',
865            small_alphabets_pass: 'Password should contain atleast 1 small letter.',
866            digit_pass: 'Password should contain atleast 1 digit.',
867            empty_field: 'Field cannot be empty.',
868            number_field: 'You can enter only numbers.',            
869            positive_number: 'Number should be greater than 0.',
870            maxchar_field: 'Field cannot be greater than # characters.',
871            minchar_field: 'Field cannot be less than # character(s).',
872            empty_email: 'Please enter Email.',
873            validate_email: 'Please enter a valid Email.',
874            empty_country: 'Please enter country name.',
875            maxchar_country: 'Country cannot be greater than # characters.',
876            minchar_country: 'Country cannot be less than # characters.',
877            empty_city: 'Please enter city name.',
878            maxchar_city: 'City cannot be greater than # characters.',
879            minchar_city: 'City cannot be less than # characters.',
880            empty_state: 'Please enter state name.',
881            maxchar_state: 'State cannot be greater than # characters.',
882            minchar_state: 'State cannot be less than # characters.',
883            empty_proname: 'Please enter product name.',
884            maxchar_proname: 'Product cannot be greater than # characters.',
885            minchar_proname: 'Product cannot be less than # characters.',
886            empty_catname: 'Please enter category name.',
887            maxchar_catname: 'Category cannot be greater than # characters.',
888            minchar_catname: 'Category cannot be less than # characters.',
889            empty_zip: 'Please enter zip code.',
890            maxchar_zip: 'Zip cannot be greater than # characters.',
891            minchar_zip: 'Zip cannot be less than # characters.',
892            empty_username: 'Please enter Username.',
893            maxchar_username: 'Username cannot be greater than # characters.',
894            minchar_username: 'Username cannot be less than # characters.',
895            invalid_date: 'Invalid date format.',
896            maxchar_sku: 'SKU cannot be greater than # characters.',
897            minchar_sku: 'SKU cannot be less than # characters.',
898            invalid_sku: 'Invalid SKU format.',
899            empty_sku: 'Please enter SKU.',
900            validate_range: 'Number is not in the valid range. It should be betwen # and ##',
901            empty_address: 'Please enter address.',
902            minchar_address: 'Address cannot be less than # characters.',
903            maxchar_address: 'Address cannot be greater than # characters.',
904            empty_company: 'Please enter company name.',
905            minchar_company: 'Company name cannot be less than # characters.',
906            maxchar_company: 'Company name cannot be greater than # characters.',
907            invalid_phone: 'Phone number is invalid.',
908            empty_phone: 'Please enter phone number.',
909            minchar_phone: 'Phone number cannot be less than # characters.',
910            maxchar_phone: 'Phone number cannot be greater than # characters.',
911            empty_brand: 'Please enter brand name.',
912            maxchar_brand: 'Brand name cannot be greater than # characters.',
913            minchar_brand: 'Brand name cannot be less than # characters.',
914            empty_shipment: 'Please enter Shimpment.',
915            maxchar_shipment: 'Shipment cannot be greater than # characters.',
916            minchar_shipment: 'Shipment cannot be less than # characters.',
917            invalid_ip: 'Invalid IP format.',
918            invalid_url: 'Invalid URL format.',
919            empty_url: 'Please enter URL.',
920            valid_amount: 'Field should be numeric.',
921            valid_decimal: 'Field can have only upto two decimal values.',
922            max_email: 'Email cannot be greater than # characters.',
923            specialchar_zip: 'Zip should not have special characters.',
924            specialchar_sku: 'SKU should not have special characters.',
925            max_url: 'URL cannot be greater than # characters.',
926            valid_percentage: 'Percentage should be in number.',
927            between_percentage: 'Percentage should be between 0 and 100.',
928            maxchar_size: 'Size cannot be greater than # characters.',
929            specialchar_size: 'Size should not have special characters.',
930            specialchar_upc: 'UPC should not have special characters.',
931            maxchar_upc: 'UPC cannot be greater than # characters.',
932            specialchar_ean: 'EAN should not have special characters.',
933            maxchar_ean: 'EAN cannot be greater than # characters.',
934            specialchar_bar: 'Barcode should not have special characters.',
935            maxchar_bar: 'Barcode cannot be greater than # characters.',
936            positive_amount: 'Field should be positive.',
937            maxchar_color: 'Color could not be greater than # characters.',
938            invalid_color: 'Color is not valid.',
939            specialchar: 'Special characters are not allowed.',
940            script: 'Script tags are not allowed.',
941            style: 'Style tags are not allowed.',
942            iframe: 'Iframe tags are not allowed.',
943            not_image: 'Uploaded file is not an image',
944            image_size: 'Uploaded file size must be less than #.',
945            html_tags: 'Field should not contain HTML tags.',
946            number_pos: 'You can enter only positive numbers.',
947            invalid_separator:'Invalid comma (#) separated values.'
948        };
949        if (typeof this.language[key] === "undefined") {
950            return error_arr[key];
951        } else {
952            return this.language[key];
953        }
954    },
955    setErrorLanguage: function (language_object) {
956        if (typeof language_object === "object") {
957            this.language = (language_object);
958        } else {
959            throw "Object was not passed in function setErrorLanguage()";
960        }
961    }
962
963}

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.