文本框不允许输入特殊字符

asd_qingchengxue 2009-09-17 10:22:25
文本框不允许输入特殊字符

我用的是服务器端控件

只能输入数字、字母和汉字

其他都不可以输入?
...全文
1328 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
lcqcway 2011-08-02
  • 打赏
  • 举报
回复
使用ajax验证控件可以实现,而且后台不用做操作
小曦子 2009-09-17
  • 打赏
  • 举报
回复
看看,不过最后在后台判断比较好,前后觉得可以省略
jack15850798154 2009-09-17
  • 打赏
  • 举报
回复
微软服务器控件不是有一个自带的自定义验证控件吗?你可以试试!!!
asd_qingchengxue 2009-09-17
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 chenjianyong94 的回复:]
前台:
<asp:TextBox ID="TextBox1" runat="server"> </asp:TextBox>

后台:
C# codeprotectedvoid Page_Load(object sender, EventArgs e)
{if (!Page.IsPostBack)
{this.TextBox1.Attributes.Add("onkeyup",@"value=value.replace(/[^\w\u4E00-\u9FA5]/g,'')");
}
}
[/Quote]

谢谢19楼
接分吧
zjybushiren88888 2009-09-17
  • 打赏
  • 举报
回复
前台JS验证或者直接用服务器验证控件都可以
chenjianyong94 2009-09-17
  • 打赏
  • 举报
回复
楼主请及时结贴
chenjianyong94 2009-09-17
  • 打赏
  • 举报
回复
前台:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

后台:
 protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
this.TextBox1.Attributes.Add("onkeyup",@"value=value.replace(/[^\w\u4E00-\u9FA5]/g,'')");
}
}
tianrexs7212 2009-09-17
  • 打赏
  • 举报
回复
/^\\\\([^\\]+\\?)+$/
不是很确定
我在网上找的
tianrexs7212 2009-09-17
  • 打赏
  • 举报
回复
意思就是你输入了特殊字符,自动用 空 覆盖
asd_qingchengxue 2009-09-17
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 tianrexs7212 的回复:]
onkeyup 时间中
value=value.replace(正则表达)
[/Quote]

正则表达式
tianrexs7212 2009-09-17
  • 打赏
  • 举报
回复
onkeyup 时间中
value=value.replace(正则表达)
asd_qingchengxue 2009-09-17
  • 打赏
  • 举报
回复
只能输入数字、字母和汉字
只要是特殊字符
连输入都不让你输入
怎么按键盘都不能进入到文本框中去

服务器端控件不可以做的是吧?
mailche 2009-09-17
  • 打赏
  • 举报
回复
^[^\[\'\,\%\]]{0,}$ 正则表达式
lingxizhixia 2009-09-17
  • 打赏
  • 举报
回复
在KEYDOWN 事件中判断输入的字符,
private void textbox1.keydown(object sebder,eventargs e)
{
if(e.keycode<48 && e.keycode>57 && e.keycode<65 && e.keycode>90 && e.keycode<97 && e.keycode>122 )
messagebox.show("请输入字母数字","error");
textbox1.clear();
textbox1.focus();
return;
}

当然还可以用正则表达式
[0-9a-zA-Z\u4e00-\u9fa5]
flybisu 2009-09-17
  • 打赏
  • 举报
回复
<body> 
<script type="text/javascript">
function regInput(reg)
{
var srcElem = event.srcElement
var oSel = document.selection.createRange()
var srcRange = srcElem.createTextRange()
oSel.setEndPoint("StartToStart", srcRange)
var num = oSel.text + String.fromCharCode(event.keyCode) + srcRange.text.substr(oSel.text.length)
event.returnValue = reg.test(num);
}
</script><input type="text" onKeyPress="regInput(/^[0-9]*$/)" /></form>
这种方法很好用,但是在Firefox不起作用,因为firefox下不识event该事件,当然,你可以参照第二个例子改一下也行.

第二种:

<body>
<script type="text/javascript">
function noNumbers(e)
{
var keynum;
var keychar;
var numcheck;
if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
keychar = String.fromCharCode(keynum);
numcheck = /\d/;
return !numcheck.test(keychar);
}
</script>

<input type="text" onkeypress="return noNumbers(event)" />
</form>
这个例子只允许输入字母,想改成只输入数字吗?很简单,把
return !numcheck.test(keychar);改成:
return numcheck.test(keychar);即可

自己改吧
asd_qingchengxue 2009-09-17
  • 打赏
  • 举报
回复
我的意思是
只要是特殊字符
连输入都不让你输入
怎么按键盘都不能进入到文本框中去

好的,我斟酌一下
谢谢9楼的建议
Helen_YM 2009-09-17
  • 打赏
  • 举报
回复
这个东西,我觉得,是不是你自己斟酌放哪个事件里面做校验比较好啊?
例如服务器端的文本控件有OnTextChanged事件,然后你在里面使用正则表达式来做校验。或者是在提交事件中做全部的控件的内容校验。
asd_qingchengxue 2009-09-17
  • 打赏
  • 举报
回复
自己顶
asd_qingchengxue 2009-09-17
  • 打赏
  • 举报
回复
怎么做呀?求助呀!
asd_qingchengxue 2009-09-17
  • 打赏
  • 举报
回复
谢谢5楼的回复
但能说的详细点吗?
比如怎么用这个正则
我用的是服务器端控件
加载更多回复(5)
第一:控件测试 1.1 文本框的测试 1.1.1 如何对文本框进行测试   a,输入正常的字母或数字。   b,输入已存在的文件的名称;   c,输入超长字符。例如在“名称”框中输入超过允许边界个数的字符,假设最多255个字 符,尝试输入 256个字符,检查程序能否正确处理;   d,输入默认值,空白,空格;   e,若只允许输入字母,尝试输入数字;反之;尝试输入字母;   f,利用复制,粘贴等操作强制输入程序不允许输入数据;   g,输入特殊字符集,例如,NUL及\n等;   h,输入超过文本框长度的字符或文本,检查所输入的内容是否正常显示;   i,输入不符合格式的数据,检查程序是否正常校验,如,程序要求输入年月日格式为 yy/mm/dd,实际输入yyyy/mm/dd,程序应该给出错误提示 1模块接口测试; 测试接口正确与否应该考虑下列因素:   1输入的实际参数与形式参数的个数是否相同;   2输入的实际参数与形式参数的属性是否匹配;   3输入的实际参数与形式参数的量纲是否一致;   4调用其他模块时所给实际参数的个数是否与被调模块的形参个数相同;   5调用其他模块时所给实际参数的属性是否与被调模块的形参属性匹配;   6调用其他模块时所给实际参数的量纲是否与被调模块的形参量纲一致;   7调用预定义函数时所用参数的个数、属性和次序是否正确;

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧