¿Cómo reviso una cadena para asegurarme de que contiene números, letras o espacio solamente?
Respuesta
La forma más sencilla es utilizar una expresión regular:
Regular Expression for alphanumeric and underscores
Uso de expresiones regulares de .NET:
http://www.regular-expressions.info/dotnet.html
var regexItem = new Regex("^[a-zA-Z0-9 ]*$");
if(regexItem.IsMatch(YOUR_STRING)){..}
String test_string = "tesintg#[email protected]#";
if (System.Text.RegularExpressions.Regex.IsMatch(test_string, "^[a-zA-Z0-9\x20]+$"))
{
// Good-to-go
}
Un ejemplo se puede encontrar aquí: http://ideone.com/B1HxA
Uso la expresión regular a continuación en validar una cadena para asegurarse de que contiene números, letras o único espacio:
[a-zA-Z0-9 ]
string s = @"$KUH% I*$)OFNlkfn$";
var withoutSpecial = new string(s.Where(c => Char.IsLetterOrDigit(c)
|| Char.IsWhiteSpace(c)).ToArray());
if (s != withoutSpecial)
{
Console.WriteLine("String contains special chars");
}
Si la lista de caracteres aceptables es bastante pequeña, puede usar una expresión regular como esta:
Regex.IsMatch(items, "[a-z0-9 ]+", RegexOptions.IgnoreCase);
La expresión regular utilizada aquí busca cualquier carácter de az y 0-9 incluyendo un espacio (dentro de los corchetes []), que hay uno o más de estos caracteres (el signo + - usted puede usar un * para 0 o más). La opción final le dice al analizador de expresiones regulares que ignore el caso.
Esto fallará en cualquier cosa que no sea una letra, número o espacio. Para agregar más personajes a la lista bendecida, agréguela dentro de los corchetes.
simple:
function HasSpecialChars(string yourString)
{
return yourString.Any(ch => ! Char.IsLetterOrDigit(ch))
}
probar este camino.
public static bool hasSpecialChar(string input)
{
string specialChar = @"\|!#$%&/()=?»«@£§€{}.-;'<>_,";
foreach (var item in specialChar)
{
if (input.Contains(item)) return true;
}
return false;
}
- 1. Cómo reemplazar caracteres especiales en una cadena?
- 2. ¿Cómo eliminar caracteres especiales de una cadena?
- 3. reemplazar caracteres especiales en cadena en java
- 4. Eliminar todos los caracteres especiales de una cadena en R?
- 5. ¿Cómo decodificar caracteres XML especiales codificados en una cadena?
- 6. Cómo escribir caracteres especiales ASCII en una cadena .Net
- 7. Imprimir caracteres especiales en php
- 8. Cómo buscar caracteres especiales (+! \?:) En Lucene
- 9. caracteres especiales preg_match
- 10. ¿Cómo detectar si una cadena contiene caracteres especiales?
- 11. Java- Extracto de una cadena entre dos caracteres especiales
- 12. Regex eliminar caracteres especiales
- 13. ajax publicar caracteres especiales
- 14. reemplazar los caracteres especiales de una cadena con _ (subrayado)
- 15. caracteres especiales en sed
- 16. Caracteres especiales en XML
- 17. NSString Length - Caracteres especiales
- 18. Cómo comprobar que la cadena contiene caracteres especiales en ruby
- 19. PHP: explotar usando caracteres especiales
- 20. caracteres especiales (@,?) Como XML-cadena en la aplicación para Android
- 21. ¿Cómo escapar caracteres especiales HTML en Java?
- 22. cómo buscar caracteres especiales php
- 23. file_get_contents - caracteres especiales en URL
- 24. Escapar caracteres especiales en SQL
- 25. Buscando caracteres especiales en Google
- 26. Caracteres especiales en PHP/MySQL
- 27. filtro garbling Maven caracteres especiales
- 28. Escape de caracteres HTML especiales en Python
- 29. Lucene y caracteres especiales
- 30. reemplazar caracteres especiales
¿Por qué no se resume esta respuesta? Me parece correcto y rápido. Más allá de sumergirse en el mundo de la expresión regular para un problema tan fácil –
@MarcelloGrechiLins Regex es completamente válido y probablemente más rápido cuando se utiliza un Regex compilado y se lo vuelve a utilizar en un gran número de cadenas. Como es habitual con el desarrollo de software, hay compensaciones. :-) –
En realidad votaría por esto - con solo unas pruebas mínimas, esto devuelve verdadero para \ n, y dudo que alguien quiera eso. Regex al menos lo limitará a caracteres especiales reales. – Charles