首页 > 代码库 > 对文本框的输入限制
对文本框的输入限制
以前经常在一些网站上注册,但是经常存在一些问题,比如你好不容易把一大堆注册的信息填写好了,然后点击提交,结果弹出个对话框,告诉你哪哪不对,或者说输入了非法字符,然后让你把写错的更改过来,这是好点的,不好的让你都重新写一遍,还有的因为用户名已经被注册,然后返回去让你重新填写用户名,然后原来的某些信息也得重新写一遍,这就特别烦人,我们可不能那么设计啊。
我觉得最好的办法,是在用户输入的时候,通过文本的change事件,只要输错了一个字符,就立即禁止继续输入,直到等到用户输入正确的信息为止,这样就能避免用户写完之后,如果出错了就得回去改一大堆的东西,很是心烦。下面介绍一下几种文本的输入限制方法,这里主要用到的是VB.NET,不过其它语言的,思路也都一样的。
只能输入数字(思路):遍历输入的文本的所有字符,将其转换为单精度浮点数single,如果转换失败,则说明输入的不是数字,捕捉错误,提示错误,代码如下
<span style="font-size:24px;">Public Class TextBoxManagement Function OnlyIntNumber(ByVal Content As String) Try Dim textContent As String<span style="white-space:pre"> </span> textContent = Convert.ToSingle(Content)<span style="white-space:pre"> </span>'执行转换为单精度浮点数 Catch ex As Exception MsgBox("只能写数字")<span style="white-space:pre"> </span>'如果转换失败,则跳到这里 End Try Return 0 End Function End Class</span>
只能输入汉字:利用Asc函数
<span style="font-size:24px;">Dim TextBoxContent As String = Asc("汉字") If TextBoxContent < 0 Then MsgBox("汉字") End If</span>
这里值得注意的,Asc是把字符转换成ASCII码,咱们可以查ASCII表,如果你这个函数里面写的ASCII里面的字符如“a、b、c”,那么转换出来的就是该字符对应的ASCII码,但是如果是汉字的话,说结果是汉字的ASCII码那是错误的,因为ASCII里面没有汉字,而且这个函数转换的是一个字节的字符,而汉字是两个字节,所以转换出来的并不是ASCII码,是个负数,这个结果大家可以上网查就如何得来的,我也不太清楚,但是可以通过xx算法把它转换成汉字的编码,这里不再赘述,只是利用了转换结果是负数来进行判断他是汉字,但是并非是绝对的,如果你要转换的字符是超过1个字节编码的字符,那就会得到负数,所以小小的知道这么一回事就行。
其它:还是通过Asc函数来判断,根据你的需要,把ASCII表拿过来,判断ASCII码的范围,就可以限制用户输入什么样的单字节字符了!额,怪了,其实对于数字的判断,我们貌似依然可以用ASCII来进行判断,呃好吧,回去试试吧!
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。