Quiero agregar un prefijo y un sufijo a un valor de entrada. por ejemplo, mi prefijo es ABC y mi sufijo es DEF, ahora cuando un usuario escribe algo para ingresar, quiero agregar ABC-USERVAL-DEF que es (Prefijo-entrada de usuario-Sufijo). Por favor, ayúdenme. He intentado algo como esto.
$("#input").on("keyup", function() { var prefix = 'ABC-' var suffix= '-DEF' var final = prefix + $(this).val() + suffix; $(this).val(''); $(this).val(final); }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type=text id="input" val=''>He usado el código @shrys y mejoré ese código para retroceder.
$("#input").on("keyup", function(e) { var prefix = 'ABC-'; var suffix = '-DEF'; var val = $(this).val().replace(prefix, '').replace(suffix, ''); var final = prefix + val + suffix; $(this).val(final); }); $("#input").on("keydown", function(e) { var key = event.keyCode || event.charCode; var prefix = 'ABC-'; var suffix = '-DEF'; if( key == 8 || key == 46 ){ var val = $(this).val().replace(prefix, '').replace(suffix, ''); $(this).val(val); } }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type=text id="input" val=''>créditos a @shrys
Me gustaría agradecer a @shrys por la respuesta y eso resuelve mis problemas por ahora.
$("#input").on("keyup", function(e) { var prefix = 'ABC-'; var suffix = '-DEF'; var val = $(this).val().replace(prefix, '').replace(suffix, ''); var final = prefix + val + suffix; $(this).val(final); }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type=text id="input" val=''>// I think there's a little bit of that with chang $("#input").on("change", function (e) { let value = $(this).val(); const prefix = 'ABC-'; const suffix = '-DEF'; value = value.replace(/(^ABC-)|(-DEF$)/g, ''); $(this).val(prefix + value + suffix); });