TextBox屏蔽/ \ : " ? | 等特殊字符 要怎么来写 要求屏蔽后还能输入中文 如题: 其实就是着几个字符 希望高手帮忙! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在Validating事件中加判断~~~~可以考虑正则 LZ是要在输入的时候就拒绝接受这些字符呢,还是在输入完成后按“按钮”执行什么操作的时候过滤掉呢?如果是前者,那么可能涉及到KEYPRESS之类的写些辨别代码。如果是输入完成后按“按钮”,那么自己写段代码、正则表达式什么的就可以了。 我觉得正则表达式好点儿吧,System.Text.RegularExpressions.Regex.IsMatch(str, @"^-?\d+$") 在光标移去的时刻 触发一个javascript 去验证 正则写法 不熟悉 呵呵 我来发全全一点的在textbox的keypress事件中如下写:private void TextBox1_KeyPress(object sender, KeyPressEventArgs e) {if(System.Text.RegularExpressions.Regex.IsMatch(e.KeyChar, @ "^-?\d+$ ")) { e.Handled = true; } else { e.Handled = false; } }没有验证过。你自己试下呢 我要的是你说的第一种情况 我知道在keypress 里写 我就是想知道怎么写谁能写下我看看谢谢个位高手 在你提交按钮的事件中做判断:str为你要判断的textbox的值,IsForbidden是验证方法。string str = textboxName.Text;if(IsForbidden(str)){ Response.write("javascript:alert('***包含非法字符')"); return;}// IsForbidden方法体private bool IsForbidden(string str) { bool b = false; string temp = "/\|:?^"; // 非法字符定义 char[] c = str.ToCharArray(); for(int i = 0; i < c.Length; i++){ // 发现包含非法字符 if(temp.indexOf(c[i]) != -1) { b = true; break; // 退出循环 } } return b;} 这个方法将所有数据类型改为var后,在js里面一样有效,你可以在textbox的onchange()事件(下拉列表的onchange事件是当选中元素更改时触发;而textbox的onchange事件是在它失去焦点后触发)中判断。你可以让这个方法返回i(即非法字符在字符串中的位置)。它的执行效率远不如正则,所以如果能,建议用正则。“symbol441(≮西门潇洒≯)”这位兄弟的回答和他的名字一样潇洒! ^_^ Regex.IsMatch(str,"[^/\\:\"?|]+"); if ((e.KeyChar >= 33 && e.KeyChar <= 47) || (e.KeyChar >= 58 && e.KeyChar <= 64) || (e.KeyChar >= 91 && e.KeyChar <= 96)) { e.KeyChar = (char)0; } else { e.Handled = true; }为什么我在keypress里这么写 怎么什么按键都不能按了!说明下 我是写的WinForm程序 还有我对正则不太明白 不太会写 希望能解答! 谢谢 我晕 我明白了 e.Handled=true;不写就对了 ~!~~~~ 谢谢各位 接分把 哈哈 一段时间内重复登陆限制 one package problem 我是新.........新手,问一个很弱智的问题 求救高手:这段代码怎么解释和操作 怎样把Guid类型转换为Decimal类型? 怎么屏蔽点击dataGrid的无效行的异常。 C#的引用类型在内存到底是怎么分配的 面试中要求找:农业部[柑桔规划]和农计函(2003)59号文件,兄弟们帮帮忙 在 WINME 中,使用 Remoting 后带来一个不大不小的问题。 高手请进问题。 请用C#代码举例说明:什么是SOA 问一个巨简单的问题,可是我怎么也没想懂。。。我们常看到书上这么说...
System.Text.RegularExpressions.Regex.IsMatch(str, @"^-?\d+$")
正则写法 不熟悉 呵呵
在textbox的keypress事件中如下写:
private void TextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if(System.Text.RegularExpressions.Regex.IsMatch(e.KeyChar, @ "^-?\d+$ "))
{
e.Handled = true;
}
else
{
e.Handled = false;
}
}没有验证过。你自己试下呢
str为你要判断的textbox的值,IsForbidden是验证方法。string str = textboxName.Text;
if(IsForbidden(str))
{
Response.write("javascript:alert('***包含非法字符')");
return;
}// IsForbidden方法体
private bool IsForbidden(string str) {
bool b = false;
string temp = "/\|:?^"; // 非法字符定义
char[] c = str.ToCharArray();
for(int i = 0; i < c.Length; i++){
// 发现包含非法字符
if(temp.indexOf(c[i]) != -1) {
b = true;
break; // 退出循环
}
}
return b;
}
{
e.KeyChar = (char)0;
}
else
{
e.Handled = true;
}
为什么我在keypress里这么写 怎么什么按键都不能按了!
说明下 我是写的WinForm程序 还有我对正则不太明白 不太会写 希望能解答! 谢谢