/* globals $ */ $(document).on('turbolinks:load', action_type_de_champs); function action_type_de_champs() { $("input[type='email']").on('change', function () { toggleErrorClass(this, validateEmail($(this).val())); }); $("input[type='number']").on('change', function () { toggleErrorClass(this, validateNumber($(this).val())); }); $("input[type='phone']").on('change', function () { var val = $(this).val(); val = val.replace(/[ ]/g, ''); toggleErrorClass(this, validatePhone(val)); }); } function toggleErrorClass(node, boolean) { if (boolean) $(node).removeClass('input-error'); else $(node).addClass('input-error'); } function validatePhone(phone) { var re = /^(0|(\+[1-9]{2})|(00[1-9]{2}))[1-9][0-9]{8}$/; return validateInput(phone, re); } function validateEmail(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 validateInput(email, re); } function validateNumber(number) { var re = /^[0-9]+$/; return validateInput(number, re); } function validateInput(input, regex) { return regex.test(input); }