Por qué el reemplazo de JavaScript solo reemplaza la primera instancia: exploración del indicador RegExp
Cuando se utiliza el método de reemplazo de JavaScript para buscar y reemplazar una cadena por otra , puede encontrar el comportamiento en el que solo se reemplaza la primera instancia de la cadena de destino. Este comportamiento se produce porque el comportamiento predeterminado de reemplazo es realizar una única operación de búsqueda y reemplazo no global.
Reemplazo global: el indicador RegExp
Para reemplazar todo instancias de una cadena de destino en una cadena, debe especificar el indicador "global" (g) en la expresión regular utilizada en el método de reemplazo. Este indicador indica que la operación de búsqueda y reemplazo debe realizarse en toda la cadena, reemplazando cada aparición de la cadena de destino.
Por ejemplo, en su código:
var date = $('#Date').val(); // e.g., "12/31/2009"
var id = 'c_' date.replace("/", ''); // c_1231/2009 (wrong)
Para reemplazar todas las apariciones del carácter "/", debe especificar el indicador "global":
var id = 'c_' date.replace(new RegExp("/", "g"), ''); // c_12312009 (correct)
Como alternativa, puedes usar la sintaxis más corta:
var id = 'c_' date.replace(/\//g, ''); // c_12312009 (correct)
Al especificar el indicador "global", el método de reemplazo reemplazará cada carácter de barra en la cadena de fecha, lo que dará como resultado el resultado correcto.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3