Posts
Use o componente FilteredTextBox do Ajax, veja no link:
http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/FilteredTextBox/FilteredTextBox.aspx
27/03/2010
Alexandre Machado
Paula,
este aqui funciona, mas voce teria que fazer alguns ajustes para adequar a sua necessidade.
no evento keypress do textbox voce coloca assim:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if ((e.KeyChar >= 65 && e.KeyChar <= 90) || // permite letras maiusculas
(e.KeyChar >= 97 && e.KeyChar <= 122) || // permite letras minusculas
(e.KeyChar == 8) || // permite backspace
(e.KeyChar == 32) || // permite espaço
(e.KeyChar == 127)) // permite del
{
e.Handled = false;
}
else
{
e.Handled = true;
}
}
não sei se tem uma forma mais simples, mas este funciona. pode ser usado para restringir qualquer tipo de caractere.
para colocar os acentos, voce teria que verificar a tabela ascii extendida e verificar os codigos e competar a função.
Paula,
Use uma Regular Expression js e cocolque ela no onKeyDown do controle usando Atributes no pageload da pagina.
Segue um exemplo da função js:
function sEhLetra(evtTecla)
{
var blnResultado = false;
switch(evtTecla.keyCode)
{
case KEY_ESC:
case KEY_ENTER:
case KEY_BKSPACE:
case KEY_DEL:
case KEY_SETA_DIREITA:
case KEY_SETA_ESQUERDA:
case KEY_TAB:
blnResultado = true;
break;
case KEYPAD_0:
case KEYPAD_1:
case KEYPAD_2:
case KEYPAD_3:
case KEYPAD_4:
case KEYPAD_5:
case KEYPAD_6:
case KEYPAD_7:
case KEYPAD_8:
case KEYPAD_9:
blnResultado = false;
break;
default:
if (/[A-Za-z]/img.test(String.fromCharCode(evtTecla.keyCode)))
blnResultado = true;
else if (/[^ .,\-\/0-9ÁÂÀÃÄáâàãäÈÉÊËèéêëÌÍÎÏIìíîïiÒÓÔÕÖòóôõöÛÚÙÜûúùüçÇ]/img.test(String.fromCharCode(evtTecla.keyCode)))
blnResultado = false;
else
blnResultado = false;
break;
}
evtTecla.returnValue = blnResultado;
return(event.returnValue = blnResultado);
}
[]s