@@ -, +, @@ them --- koha-tmpl/intranet-tmpl/prog/js/members.js | 6 ++++++ .../bootstrap/en/modules/opac-messaging.tt | 22 ++++++++++++++++++++++ 2 files changed, 28 insertions(+) --- a/koha-tmpl/intranet-tmpl/prog/js/members.js +++ a/koha-tmpl/intranet-tmpl/prog/js/members.js @@ -315,6 +315,12 @@ $(document).ready(function(){ function(value, element, phone) { var e164 = "^\\+?[1-9]\\d{1,14}$"; var re = new RegExp(e164); + + let has_plus = value.charAt(0) === '+'; + value = value.replace(/\D/g,''); + if ( has_plus ) value = '+' + value; + element.value = value; + return this.optional(element) || re.test(value); }, jQuery.validator.messages.phone); --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-messaging.tt +++ a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-messaging.tt @@ -185,6 +185,28 @@ }); $("#info_digests").tooltip(); }); + +function normalizeSMS(value){ + let has_plus = value.charAt(0) === '+'; + let new_value = value.replace(/[^0-9]+/g, ''); + if ( has_plus ) new_value = '+' + new_value; + return new_value; +} + +var sms_input = document.getElementById('SMSnumber'); + +sms_input.addEventListener('keyup', function(){ + var field = sms_input.value; + sms_input.value = normalizeSMS(field); +}); + +sms_input.addEventListener('paste', function(event) { + let paste = (event.clipboardData || window.clipboardData).getData('text'); + setTimeout(function () { + sms_input.value = normalizeSMS(paste); + }, 100); +}); + //]]> [% END %] --