J'ai besoin d'exclure des caractères spéciaux (%,&,/,",'
etc.) de la zone de texte
C'est possible? Devrais-je utiliser l'événement key_press?
string one = radTextBoxControl1.Text.Replace("/", "");
string two = one.Replace("%", "");
//more string
radTextBoxControl1.Text = two;
dans ce mode est très très long = (
Je suppose que vous essayez de ne conserver que des caractères alphanumériques et des espaces. Ajouter un événement de frappe comme celui-ci
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
var regex = new Regex(@"[^a-zA-Z0-9\s]");
if (regex.IsMatch(e.KeyChar.ToString()))
{
e.Handled = true;
}
}
vous pouvez utiliser ceci:
private void textBoxSample_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !char.IsLetter(e.KeyChar) && !char.IsDigit(e.KeyChar);
}
il bloque les caractères spéciaux et n'accepte que les int/nombres et les caractères
Le code ci-dessous n'autorise que les chiffres, les lettres, le retour arrière et les espaces.
J'ai inclus VB.net parce qu'il y avait une conversion difficile à gérer.
C #
private void textBoxSample_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = e.KeyChar != (char)Keys.Back && !char.IsSeparator(e.KeyChar) && !char.IsLetter(e.KeyChar) && !char.IsDigit(e.KeyChar);
}
VB.net
Private Sub textBoxSample_KeyPress(sender As Object, e As KeyPressEventArgs) Handles textBoxSample.KeyPress
e.Handled = e.KeyChar <> ChrW(Keys.Back) And Not Char.IsSeparator(e.KeyChar) And Not Char.IsLetter(e.KeyChar) And Not Char.IsDigit(e.KeyChar)
End Sub
le mieux pour moi:
void textBoxSample_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = Char.IsPunctuation(e.KeyChar) ||
Char.IsSeparator(e.KeyChar) ||
Char.IsSymbol(e.KeyChar);
}
il sera plus utile d'activer les touches delete, backspace ... etc
nous pouvons le valider en utilisant un validateur d'expression régulière
ValidationExpression = "^ [\ sa-zA-Z0-9] * $"
<asp:TextBox runat="server" ID="txtname" />
<asp:RegularExpressionValidator runat="server" ControlToValidate="txtname"
ForeColor="Red" SetFocusOnError="true" Display="Dynamic"
ErrorMessage=" Restrict for special characters" ID="rfvname"
ValidationExpression="^[\sa-zA-Z0-9]*$">
</asp:RegularExpressionValidator>
vous pouvez aussi voir la démo ici https://www.neerajcodesolutions.com/2018/05/how-to-restrict-special-characters-in.html
Vous pouvez utiliser l'événement 'Texte modifié' (JE CROIS (mais je ne suis pas sûr) qu'il soit déclenché lors d'un copier/coller).
Lorsque l'événement est déclenché, appelez une méthode, par exemple PurgeTextOfEvilCharacters ().
Dans cette méthode, avoir un tableau des caractères que vous souhaitez "bloquer". Parcourez chaque caractère du texte .Text du contrôle TextBox et si le caractère se trouve dans votre tableau, vous ne le souhaitez pas. Reconstruisez la chaîne avec les caractères "ok" et vous voilà prêt à partir.
Je parie qu'il y a un meilleur moyen, mais cela me semble correct!