Encontré mucha validación de correo electrónico Regex en SO, pero no encontré ninguna que acepte una cadena vacía. ¿Es esto posible solo a través de Regex? ¿Acepta cadena vacía o solo correo electrónico? Quiero tener esto solo en Regex.
127
^
, por lo que efectivamente está buscando un correo electrónico o nada en el medio de una cadena. Para esto(email_regex)?
es más adecuado.^$
no funciona, pero^(?!.)
sí: [^
inicio de cadena,(?!)
búsqueda.
coincidencia de cadena vacía o correo electrónico
coincidencia de cadena vacía o correo electrónico, pero también coincide con cualquier cantidad de espacio en blanco
ver más sobre el regex de correspondencia de correo electrónico en sí:
http://www.regular-expressions.info/email.html
fuente
Las respuestas anteriores funcionan ($ para vacío), pero acabo de intentar esto y también funciona para dejarlo vacío así:
Lo mismo en orden inverso
fuente
No haga coincidir un correo electrónico con una expresión regular. Es extremadamente feo, largo y complicado y su analizador de expresiones regulares probablemente no pueda manejarlo de todos modos. Intenta encontrar una rutina de biblioteca para unirlos. Si solo quieres resolver lo práctico problema de hacer coincidir una dirección de correo electrónico (es decir, si desea un código incorrecto que generalmente funciona), use el enlace regular-expressions.info que otra persona envió.
En cuanto a la cadena vacía,
^$
es mencionada por varias personas y funcionará bien.fuente
esto resolverá, aceptará una cadena vacía o exactamente una identificación de correo electrónico
fuente
Prefiero
/^\s+$|^$/gi
unir espacios vacíos y vacíos.fuente
Si lo está utilizando dentro de rieles: validación de registro activo puede establecer
allow_blank: true
Como:
fuente