Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En el ejemplo siguiente se usa el método estático Regex.Replace para quitar caracteres no válidos de una cadena.
Advertencia
El uso sin restricciones de System.Text.RegularExpressions con entradas no fiables puede exponer a las aplicaciones a ataques de denegación de servicio. Consulte Procedimientos recomendados para expresiones regulares en .NET para obtener instrucciones sobre cómo usar de forma segura .NET expresiones regulares con entradas que no son de confianza.
Example
Puede usar el CleanInput método definido en este ejemplo para quitar caracteres potencialmente dañinos que se han escrito en un campo de texto que acepta la entrada del usuario. En este caso, CleanInput elimina todos los caracteres no alfanuméricos excepto puntos (.), símbolos de arroba (@) y guiones (-), y devuelve la cadena restante. Sin embargo, puede modificar el patrón de expresión regular para que quite los caracteres que no se deben incluir en una cadena de entrada.
using System;
using System.Text.RegularExpressions;
public class Example
{
static string CleanInput(string strIn)
{
// Replace invalid characters with empty strings.
try {
return Regex.Replace(strIn, @"[^\w\.@-]", "",
RegexOptions.None, TimeSpan.FromSeconds(1.5));
}
// If we timeout when replacing invalid characters,
// we should return Empty.
catch (RegexMatchTimeoutException) {
return String.Empty;
}
}
}
Imports System.Text.RegularExpressions
Module Example
Function CleanInput(strIn As String) As String
' Replace invalid characters with empty strings.
Try
Return Regex.Replace(strIn, "[^\w\.@-]", "")
' If we timeout when replacing invalid characters,
' we should return String.Empty.
Catch e As RegexMatchTimeoutException
Return String.Empty
End Try
End Function
End Module
El patrón de expresión regular [^\w\.@-] coincide con cualquier carácter que no sea un carácter de palabra, un punto, un símbolo @ o un guion. Un carácter de palabra es cualquier letra, dígito decimal o conector de puntuación, como un carácter de subrayado. Cualquier carácter que coincida con este patrón se reemplaza por String.Empty, que es la cadena definida por el patrón de reemplazo. Para permitir caracteres adicionales en la entrada del usuario, agregue esos caracteres a la clase de caracteres en el patrón de expresión regular. Por ejemplo, el patrón [^\w\.@-\\%] de expresión regular también permite un símbolo de porcentaje y una barra diagonal inversa en una cadena de entrada.