sharp regular online .net regex email

.net - online - regular expression replace



Correo electrónico de Regex: ¿Ignora los espacios iniciales y finales? (5)

Estamos utilizando lo siguiente para hacer una validación de correo electrónico en ASP.NET:

/w+([-+.'']/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*

¿Cómo se puede modificar esto para ignorar los espacios iniciales y finales?

El recorte real que manejamos en el código en la devolución de datos, pero el validador se activa como no válido si el usuario tiene un espacio adicional a menudo debido a copiar y pegar.


Agrupe lo que desea en una captura con nombre y luego permita espacios antes y después de la captura

/s*(?<email>/w+([-+.'']/w+)@/w+([-.]/w+)./w+([-.]/w+)*)/s*


Puede colocar /s* antes y después de su patrón y debería funcionar correctamente.


En el caso de ASP.NET, lo siguiente funciona:

<asp:TextBox runat="server" ID="EmailAddress" /> <asp:RegularExpressionValidator ValidationExpression="/s*/w+([-+.'']/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*/s*" runat="server" ControlToValidate="EmailAddress" Text="*" ErrorMessage="Email is not valid" />

Permite una variedad de correos electrónicos como:

"[email protected]" " [email protected] " "[email protected]" " [email protected] "

etc

Asegúrate de despojar los espacios en blanco de tu código así:

VB Dim Email as string = EmailAddress.Text.Trim()

C # string Email = EmailAddress.Text.Trim();


Simplemente haga el ajuste antes de pasarlo al validador.


Iba a "responder" esto como un simple comentario, pero la respuesta real a su pregunta es que no hay respuesta .

¿Por qué?

Porque cualquier dirección de correo electrónico con espacio o espacios en blanco antes o después de ella, es una dirección de correo electrónico no válida .

Intenta pasar una dirección de correo electrónico con caracteres en blanco alrededor de un control SMPTP, por ejemplo, e intente enviarlo, ¡ fallará !

Todas las direcciones de correo electrónico deben ser validadas desde el punto de vista de esta expresión regular ...

/ w + ([- +. ''] / w +) @ / w + ([-.] / w +) . / w + ([-.] / w +) *

o incluso esto

/.+@.+/

Cualquier otra cosa es una dirección de correo electrónico no válida.

Realmente la forma de hacerlo es TRIM () la cadena antes de pasar a un control de correo electrónico para usarla.

Solo te estoy advirtiendo.