对文本框的输入限制

以前经常在一些网站上注册,但是经常存在一些问题,比如你好不容易把一大堆注册的信息填写好了,然后点击提交,结果弹出个对话框,告诉你哪哪不对,或者说输入了非法字符,然后让你把写错的更改过来,这是好点的,不好的让你都重新写一遍,还有的因为用户名已经被注册,然后返回去让你重新填写用户名,然后原来的某些信息也得重新写一遍,这就特别烦人,我们可不能那么设计啊。

我觉得最好的办法,是在用户输入的时候,通过文本的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来进行判断,呃好吧,回去试试吧!

对文本框的输入限制

时间: 2024-12-08 04:44:24

对文本框的输入限制的相关文章

js文本框只能输入数字,

1,文本框只能输入数字代码(小数点也不能输入) 复制代码代码示例: <input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"> 2,只能输入数字,能输小数点. 复制代码代码示例: <input onkeyup="if(isNaN(value))execCommand('und

文本框只能输入数字(兼容IE火狐)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

用javascript实现控制一个文本框的输入字数限制,超出字数限制文本框飘红显示-面试题

用javascript实现控制一个文本框的输入字数限制,超出字数限制文本框飘红显示. html <textarea name="" id="text" cols="30" rows="10" maxLength=10></textarea><br> <span id="span"></span> javascript var str = docum

JavaScript实现在页面上的文本框中输入小写字母自动变为大写字母

<script language="javascript" type="text/javascript"> $(function () { $("input[type=text]").keyup(function () { $(this).val($(this).val().toUpperCase()); }); }); </script> $("input[type=text]") 处可为文本框ID,

silverlight 文本框只能输入汉字

private void txtName_KeyDown(object sender, KeyEventArgs e) { Regex rg = new Regex("^[\u4e00-\u9fa5\b]$"); //\b是退格键 if (!rg.IsMatch(e.Key.ToString())) { e.Handled = true; } if (txtName.Text.Length >= 20) { txtName.Text = txtName.Text.Substrin

silverlight 文本框只能输入数字

void mobile_KeyUp(object sender, KeyEventArgs e) { Regex rg = new Regex("^[0-9]{1,11}$"); Regex rg1 = new Regex("\b"); if (!rg.IsMatch(mobile.Text) && !rg1.IsMatch(e.Key.ToString())) { if (mobile.Text.Length > 0) { mobile.Te

GUI编程笔记(java)09:GUI控制文本框只能输入数字字符案例

1.首先我们看看我的需求,如下: 控制文本框只能输入数字字符 2.源代码: package cn.itcast_07; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.Label; import java.awt.TextField; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.W

用Jquery控制文本框只能输入数字和字母

只为成功找方法,不为失败找借口! 用Jquery控制文本框只能输入数字和字母 在公司开发WinForm项目时,发现公司自主研发的textbox控件非常强大,可以实现"只能输入数字"."只能输入字母"和"只能输入数字和字母"的三种输入限制,这样就可以精确控制用户输入的内容范围,让"用户永远没有办法输入限定的内容范围之外的其他内容",也就是"用户即使想犯错误也没有机会",这种限制控件输入的方式给了我很大的启发,

.Net常用技巧_TextBox文本框限制输入的内容

1,限制只能输入数字 private void txtSize_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar != 8 && e.KeyChar != 13 && !char.IsDigit(e.KeyChar) && e.KeyChar != 46) { MessageBox.Show("请输入数字"); e.Handled = true; } } 2,限制只能

JavaScript实现在文本框中输入空格时自动填写某个值

<script language="javascript" type="text/javascript"> var txtText4 = "#" + '<%= new DynamicControl(this, "Text4").ClientID%>'; $(function () { $(txtText4).keyup(function (e) { if (e.which == 32) $(this).