Hice un sitio web.
Actualmente tengo un formulario y un enlace al lado del formulario. Cuando el usuario hace clic en el enlace, todo lo que se escriba en ese formulario se agregará a la ruta de URL de /funpage/ y se convertirá en la nueva ruta de URL. Entonces, por ejemplo, si el usuario escribe algo como /hey/hi , entonces hace clic en el enlace. El enlace llevará al usuario a una URL como /funpage/hey/hi . Otro ejemplo, es si el usuario escribe algo como /hellooy/hi/hey/whatsup/hi luego hace clic en el enlace. El enlace llevará al usuario a una URL como /funpage/hellooy/hi/hey/whatsup/hi .
El problema es que mi aplicación Vue.js con el enrutador vue pensará que el usuario va a una nueva página web, porque el usuario ingresó barras invertidas que se agregan a la URL y actúan como si fuera una ruta completamente nueva.
Mi solución es escribir una expresión regular como /\//g y usar la función de replace en Javascript, para la entrada del usuario en el formulario, que elimina cualquier carácter de barra invertida. Entonces, cuando el usuario escribe algo como /hey/hi y hace clic en el enlace, lo llevará a /funpage/heyhi que es lo que quiero.
Sin embargo, estoy seguro de que hay más caracteres que no desea que se ingresen en una URL, que sé que el usuario podría ingresar y lo rompería. Sé sobre encodeURIComponent pero parece que solo se usa si desea agregar parámetros de consulta a propósito.
¿Alguien posiblemente tenga una expresión regular mejor que /\//g para escapar de todos los caracteres que no deberían estar en una URL? o una solución mejor tal vez.
¡Gracias!