Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

100
Vistas
Busque uno o más caracteres y reemplácelos en JavaScript

Al usar indexOf() , pude detectar si la entrada contiene "SP-" y reemplazarla.

Sin embargo, necesito buscar más de un conjunto de caracteres: sp- , SP- , eb- , EB- y más...

Tengo lo siguiente para reemplazar sp- y SP- pero no quiero replicar este bloque completo para cada instancia.

 // Check for 'sp-' characters in the order ID. if (order_id.indexOf("SP-") !== -1) { // Remove string from input form.find('input[name="orderid"]').val(order_id.replace("SP-", "")); } // Check for 'SP-' characters in the order ID. if (order_id.indexOf("sp-") !== -1) { // Remove string from input form.find('input[name="orderid"]').val(order_id.replace("sp-", "")); }

Actualización : solo pensé en una solución mejor, busque todos los caracteres anteriores e incluidos - y elimínelos. Por lo tanto, no estamos limitados a una lista específica en caso de que se agreguen nuevos prefijos en una fecha posterior.

sp-1234 , SP-1234 , xx-1234 , etc

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Para reemplazar todas las mayúsculas y minúsculas, ¿puedes probar esto?

 form.find('input[name="orderid"]').val(order_id.replace(/sp-/gi, ''));

o puedes hacer algo como esto

 ['SP-', 'sp-', 'eb-', 'EB-'].forEach((item)=>{ if ( order_id.indexOf(item) !== -1 ) { // Remove string from input form.find('input[name="orderid"]').val(order_id.replace(item, '')); } });

Actualización: solo pensé en una solución mejor, busque todos los caracteres anteriores e incluidos, y elimínelos. Por lo tanto, no estamos limitados a una lista específica en caso de que se agreguen nuevos prefijos en una fecha posterior.

sp-1234, SP-1234, xx-1234, etc.

Tal vez algo como esto debería funcionar

 if(order_id.indexOf('-') !== -1) { var prefix = order_id.substr(0, order_id.indexOf('-')); form.find('input[name="orderid"]').val(order_id.replace(`${prefix}-`, "")); }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Simplemente use una expresión regular con un conjunto de insensibilidad a mayúsculas y minúsculas. No hay ninguna razón para verificar que la cadena exista dentro de la cadena porque el método de reemplazo no hace nada si no hay una coincidencia.

 function removePrefix(str) { return str.replace(/(sp|eb)-/i, ''); } ["fo-foooo", "sp-123", "SP-123", "eb-321", "EB-911"].forEach( function (str) { console.log(str, removePrefix(str)); });

Hacer coincidir cualquier cosa que comience con una cadena seguida de un guión

 function removePrefix(str) { return str.replace(/^[^-]+-/i, ''); } ["fo-foooo", "sp-123", "SP-123", "eb-321", "EB-911"].forEach( function (str) { console.log(str, removePrefix(str)); });

about 4 years ago · Juan Pablo Isaza Denunciar

0

Prueba algo como esto:

 var vals = ["sp-","ep-"] // Put all the values here vals.forEach(v => { if (order_id.indexOf(v) !== -1) {form.find('input[name="orderid"]').val(order_id.replace(v, ''))}; })
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda