Estoy intentando crear un RegEx que aísle los números de identificación del ticket en mi URL y me los envíe en un informe de error como se ve a continuación.
const input = document.getElementById('nameInput') data = { "name": input.value || "Problem with ticket"+ window.location.href.match(/\d/), "story_type" : "Bug", "description": window.location.hrefTambién he intentado extraer la URL completa
"Problem with ticket"+ window.location.href.match(/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/)Sin embargo, ambos devuelven "Problema con el boleto nulo", admito que soy terrible en RegEx, entonces, ¿cuál sería la mejor manera de escribir esto? He adjuntado una URL de ejemplo a continuación.
https://xoxoxox.zendesk.com/agent/tickets/2116248Si puede haber más dígitos en la URL, puede hacer que sea específico para obtenerlo después de los boletos en un grupo de captura.
Verifique primero si hay una coincidencia y luego obtenga el valor del grupo de captura 1:
\/tickets\/(\d+)Demostración de expresiones regulares
let m = "https://xoxoxox.zendesk.com/agent/tickets/2116248".match(/\/tickets\/(\d+)/); if(m) { console.log(m[1]); }Producción
2116248Si la identificación del boleto es solo dígitos.
"https://xoxoxox.zendesk.com/agent/tickets/2116248".replace(/.*\/(\d*)/,"$1")Resultado : 2116248