/** * Created by Pensare Software. * User: Theo Weijmer * Date: 25/12/2017 * Time: 19:01 */ dbo.helpers = { validateEmail: function ( email ) { var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; return re.test( email.toLowerCase() ); }, thousandSeparator: function ( x ) { return x.toString().replace( /\B(?=(\d{3})+(?!\d))/g, "." ); }, validateNumber: function ( input, point = true ) { var validNumbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.', ',']; var pointTaken = false; var pointedString = ''; // convert to comma or point number if ( point ) { input = input.toString().replace( ',', '' ); } else { input = input.toString().replace( '.', '' ); } //remain only last comma or point and remove all non numbers var reverse = dbo.helpers.reverseString( input ).toString(); for ( let character of reverse ) { if ( character == ',' || character == '.' ) { if ( pointTaken == false ) pointedString += character pointTaken = true; } else { if ( dbo.helpers.inArray( character, validNumbers ) ) { pointedString += character; } } } pointedString = dbo.helpers.reverseString( pointedString ); return pointedString; }, inArray: function ( needle, hayStack ) { var valid = false; $.each( hayStack, function ( i, p ) { if ( p == needle ) valid = true; } ); return valid; }, findArrayElement: function ( toFind, element, value, array ) { // console.log( toFind ); // het element in de array // console.log( element ); // console.log( value ); // console.log( array ); if ( !Array.isArray( array ) ) return null; var foundValue = null $.each( array, function ( i, p ) { if ( p[toFind] == value ) foundValue = p[element]; } ); // console.log( foundValue ); return foundValue; }, reverseString: function ( string = '' ) { string = string.toString(); if ( string.length == 0 ) return ''; return string.split( '' ).reverse().join( '' ); }, mysql2date: function ( date ) { if ( !date ) return null; if ( date.length != 10 ) return null; var dateParts = date.split( "-" ); var newDate = dateParts[2] + '-' + dateParts[1] + '-' + dateParts[0]; return newDate; }, numberWithPoints: function ( myNumber ) { if ( !myNumber ) return 0; return myNumber.toString().replace( /\B(?=(\d{3})+(?!\d))/g, "." ); }, isNumeric: function ( n ) { return !isNaN( parseFloat( n ) ) && isFinite( n ); } }