Estoy tratando de determinar cómo usar la validación de Vuetify para garantizar que las reglas (usando la etiqueta :rules en un campo de texto v) cumplan con este formato:
AB-12345678 (los dos primeros caracteres son letras seguidas de un guión y luego un número de 8 dígitos)
Estoy luchando por hacer esto sin usar CharAt, pero supongo que hay un método más limpio y simple.
puede usar expresiones regulares para verificar la validez
regla de expresiones regulares: [AB]{2}-[0-9]{8}
comprueba el código
<template> <v-text-field :rules="customRule" /> </template> <script> export default { computed: { customRule() { return [ v => /[AB]{2}\-[0-9]{8}/.test(v) || "rule is not valid" ], } } } </script>Yo usaría expresiones regulares
<v-text-field :rules="[v => /^[AZ]{2}-\d{8}$/gm.test(v)]" />Depende exactamente de lo que quieras, pero esta expresión regular está haciendo:
^ coincide con el inicio de la línea[AZ]{2} coincide exactamente con 2 caracteres en mayúscula[A-Za-z]{2} si no importan mayúsculas o minúsculas- emparejar un guión\d{8} coincide con 8 dígitos$ coincide con el final de la líneagm al final son banderas para la expresión regularDebería considerar el uso de expresiones regulares. Algo como: ^[AZ]{2}-[0-9]{8}$ debería funcionar.
Para usar Regex en javascript, debe consultar los documentos para desarrolladores de Mozilla
Se parece a esto :
const paragraph = 'The quick brown fox jumps over the lazy dog. It barked.'; const regex = /[AZ]/g; const found = paragraph.match(regex); console.log(found); // expected output: Array ["T", "I"]