c#中如何判断字符串是否为数字
2006-12-29 20:23
696 查看
[align=center]c#中如何判断字符串是否为数字[/align]
原创(相吻合用于任意长度)
[align=left] public static bool StrIsInt(string Str)[/align]
[align=left] {[/align]
[align=left] bool flag = true;[/align]
[align=left] if(Str != "")[/align]
[align=left] {[/align]
[align=left] for(int i = 0 ;i<Str.Length;i++)[/align]
[align=left] {[/align]
[align=left] if(!Char.IsNumber(Str,i))[/align]
[align=left] {[/align]
[align=left] flag = false;[/align]
[align=left] break;[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left] else[/align]
[align=left] {[/align]
[align=left] flag = false;[/align]
[align=left] }[/align]
[align=left] return flag;[/align]
}
正则表达
string regex = @^/d+$;
自己写个方法吧:这是我写的.
private bool isNumber(string s)
{
int Flag = 0;
char[]str = s.ToCharArray();
for(int i = 0;i < str.Length ;i++)
{
if (Char.IsNumber(str[i]))
{
Flag++;
}
else
{
Flag = -1;
break;
}
}
if ( Flag > 0 )
{
return true;
}
else
{
return false;
}
}
测试
private void Button1_Click(object sender, System.EventArgs e)
{
if (isNumber(TextBox1.Text.Trim()))
{
TextBox2.Text = 是数字;
}
else
{
TextBox2.Text = 不是数字;
}
}
try
{
double.Parse(this.TextBox1.Text);
Response.Write(是数字);
}
catch
{
Response.Write(不是数字);
}
或者用正则表达式也可以:
using System.Text.RegularExpressions;
------------------------
Regex r=new Regex(@^/d+(/.)?/d*$);
if(r.IsMatch(this.TextBox1.Text))
{
this.Response.Write(是数字);
}
else
{
this.Response.Write(不是数字);
}
public static bool StrIsInt(string Str)
{
try
{
Int32.Parse(Str);
return true;
}
catch
{
bool flag = false;
return flag;
}
}
应该使用正则表达式:
string pattern = @^/d+(/./d)?$;
if(Text1.Text.Trim()!=)
{
if(!Regex.IsMatch(sign_money.Text.Trim(),pattern))
{
Text1不是数字;
}
else
{
Text1是数字;
}
}
补充
//正则匹配
匹配中文字符的正则表达式: [/u4e00-/u9fa5]
匹配双字节字符(包括汉字在内):[^/x00-/xff]
匹配空行的正则表达式:/n[/s| ]*/r
匹配HTML标记的正则表达式:/<(.*)>.*<///1>|<(.*) //>/
匹配首尾空格的正则表达式:(^/s*)|(/s*$)(像vbscript那样的trim函数)
匹配Email地址的正则表达式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*
匹配网址URL的正则表达式:http://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)?
以下是例子:
利用正则表达式限制网页表单里的文本框输入内容:
用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,'')"
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/u4E00-/u9FA5]/g,''))"
1.用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^/uFF00-/uFFFF]/g,'')"
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/uFF00-/uFFFF]/g,''))"
2.用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^/d]/g,'')
"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))"
3.用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[/W]/g,'')
"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))"
相关文章推荐
- c#中如何判断字符串是否为数字
- c#中如何判断字符串是否为数字
- C#判断一个字符串是否是数字或者含有某个数字的方法
- C#判断字符串是否为数字字符串
- C#里判断字符串是否为纯数字
- 如何判断一个字符串是否仅由数字or仅由数字英文字符or仅由汉字组成
- C#判断字符串是否为数字
- iOS开发如何判断字符串是否是整数,浮点数,纯数字
- C#判断字符串是否为数字字符串
- C# 中对字符串是否为数字的判断(类似 vb.net 中的 IsNumber)
- c# 如何判断一个字符串是一个数字
- 在进行C#编程时候,有的时候我们需要判断一个字符串是否是数字字符串,我们可以通过以下两种方法来实现。 【方法一】:使用 try{} catch{} 语句。 我们可以在try语句块中试图
- C#判断字符串是否是数字(实例)
- 如何判断字符串是否为空串?[C#]
- C#实现如何判断一个字符串是否为整数和浮点
- c#判断字符串是否为数字
- 在c#.net中,如何判断文本框中的值是否是数字?我想验证身份证输入是否正确。
- 如何判断字符串是否存在数字
- C#判断字符串是否为纯数字(转)
- 判断一个字符串是否全是数字的多种方法及其性能比较(C#实现)