NOTA: Recuerden que si requieren ayuda con alguna Expresión regular, me pueden escribir y los apoyo sin problema.
La validación es la siguiente:
^(data:((video\/((mp4)|(ogg)))|(image\/((png)|(jpeg)|(gif)|(svg\+xml)))|(text\/((plain)|(html)|(css)|(javascript)))|(application\/((pdf)|(json)|(xml)))|(audio\/((mpeg)|(ogg))));base64,)?([a-zA-Z\d\+/=]{4})+$
Esta expresión regular valida los difentes tipos de archivos comunes en BASE64 los cuáles están enlistados más abajo, también valida que el BASE64 sea un múltiplo de 4, ya que es uno de los requisitos para que la cadena sea correcta, a nivel de código, esto nos ahorra contabilizar el número de caracteres y obtener el residuo el cual debe ser 0 al dividir entre 4 .
Imágenes:
PNG: data:image/png;base64,
JPEG: data:image/jpeg;base64,
GIF: data:image/gif;base64,
SVG: data:image/svg+xml;base64,
Textos:
Texto plano: data:text/plain;base64,
HTML: data:text/html;base64,
CSS: data:text/css;base64,
JavaScript: data:text/javascript;base64,
Documentos:
PDF: data:application/pdf;base64,
JSON: data:application/json;base64,
XML: data:application/xml;base64,
Archivos de audio:
MP3: data:audio/mpeg;base64,
Ogg: data:audio/ogg;base64,
Archivos de video:
MP4: data:video/mp4;base64,
Ogg: data:video/ogg;base64,