Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

98
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!