c#我的难题,大家的举手之劳!
如何在以个textbox里控制只能输入数字(小数点的可以,也可以是整数),我想到用正则表达式,可是不太会用,望高手指点! --------------------编程问答----------------------------------------编程问答-------------------- 给你举个我用正则验证IP的代码例子。
private void text1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar < '0' && e.KeyChar != '.' || e.KeyChar > '9' && e.KeyChar != '.')
{
e.Handled = true;
}
else
{
e.Handled = false;
}
}
using System.Text.RegularExpressions;
string s_reg = @"^([1-9]|[1-9]\d|(1\d{2}|2[0-5][0-5]))\.([0-9]|[1-9]\d|(1\d{2}|2[0-5][0-5]))\.([0-9]|[1-9]\d|(1\d{2}|2[0-5][0-5]))\.([0-9]|[1-9]\d|(1\d{2}|2[0-5][0-5]))$";
string s = cbLanIP.Text;
Regex reg = new Regex(s_reg);
if (reg.IsMatch(s))
{ }
else
{
MessageBox.Show("IP地址格式错误!","提示!");
}
验证输入数字的正则表达式楼下的会提供 --------------------编程问答-------------------- 2楼的方法很实用,我很多地方也经常用的
--------------------编程问答-------------------- 能推荐另外一个控件不
NumericUpDown
稍微设置一下就可以达到你的目标 --------------------编程问答-------------------- 其實2樓行。
正則表達式,
數字的話@"[0-9.]+"包括小數點 --------------------编程问答-------------------- 请问能否把这种控件的外观改变一下,和TEXTBOX一样的
--------------------编程问答-------------------- 学习了! --------------------编程问答-------------------- 如果只想简单的验证数字(就是不考虑正确与否的话)[0-9.]+就可以了
--------------------编程问答-------------------- 匹配特定数字:
^[1-9]d*$ //匹配正整数
^-[1-9]d*$ //匹配负整数
^-?[1-9]d*$ //匹配整数
^[1-9]d*|0$ //匹配非负整数(正整数 + 0)
^-[1-9]d*|0$ //匹配非正整数(负整数 + 0)
^[1-9]d*.d*|0.d*[1-9]d*$ //匹配正浮点数
^-([1-9]d*.d*|0.d*[1-9]d*)$ //匹配负浮点数
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$ //匹配浮点数
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$ //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$ //匹配非正浮点数(负浮点数 + 0)
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/LCL_data/archive/2009/07/08/4332108.aspx --------------------编程问答--------------------
这个方法就不错啊~~~ --------------------编程问答-------------------- 简单的处理可以试试看类似这样的。
--------------------编程问答--------------------
<input type="text" onblur='Javascript:if(NaN(this.value){alert("不是数字。");this.value="";})' />
<!--写错括号的位置了。-->
<inputtype="text" onblur='Javascript:if(NaN(this.value)){alert("不是数字。");this.value="";}'/>
--------------------编程问答--------------------
--------------------编程问答-------------------- 学习了,一楼的好点。至少我看的懂。 --------------------编程问答-------------------- JS文件
"(?n)(0|[1-9][0-9]*)(\.[0-9]+)?"
function isNumber(String)
{
var Letters = "1234567890."; //可以自己增加可输入值
var i;
var c;
if(String.charAt( 0 )=='.')
return false;
if( String.charAt( String.length - 1 ) == '.' )
return false;
for( i = 0; i < String.length; i ++ )
{
c = String.charAt( i );
if (Letters.indexOf( c ) < 0)
return false;
}
return true;
}
function CheckForm(textBox1)
{
var id1=textBox1.id;
var str1_value=document.getElementById(id1).value;
if(! isNumber(str1_value)) {
alert("您输入的金额有误!只能阿拉伯数字");
document.getElementById(id1).value="";
document.getElementById(id1).focus();
return false;
}
return true;
} --------------------编程问答-------------------- 顶9楼
--------------------编程问答--------------------
UP --------------------编程问答-------------------- 1楼,UP --------------------编程问答-------------------- using system.text.RegularExpressions;
--------------------编程问答-------------------- Maskedit控件可否? --------------------编程问答-------------------- 顶2楼 --------------------编程问答--------------------
regex r=new regex("[1-9]")
if(r.IsMatch(textbox.text))
{
//是数字..后面自己操作
}
else
{
//不是数字...自己操作
}
哥儿,留下个联系,你实在太搞笑了! --------------------编程问答-------------------- 九楼堪称精典…一楼最能达到lz的消果。还有五楼不能说有错,应该说有漏洞。 --------------------编程问答-------------------- 占位学习。 --------------------编程问答-------------------- 用MaskeTextBox吧,那里可以控制输入的类容的 --------------------编程问答--------------------
MaskeTextBox?
没用过,赶紧研究一下 --------------------编程问答--------------------
顶~~~
我正在用~~相当好用~~ --------------------编程问答-------------------- 这问题我以前在论坛上答过,现在又找不到了,郁闷
还好上面的都答了,呵呵 --------------------编程问答-------------------- 1楼是有bug的,退格键和删除键也被屏蔽了,这不大合理。 --------------------编程问答--------------------
up
希望lz好好看看,这个才是经典
--------------------编程问答-------------------- 使用js正则表达式
function clearNoNum(obj)
{
//先把非数字的都替换掉,除了数字和.
obj.value = obj.value.replace(/[^\d.]/g,"");
//必须保证第一个为数字而不是.
obj.value = obj.value.replace(/^\./g,"");
//保证只有出现一个.而没有多个.
obj.value = obj.value.replace(/\.{2,}/g,".");
//保证.只出现一次,而不能出现两次以上
obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
}
<input id="input1" onkeyup="clearNoNum(this)">
补充:.NET技术 , C#