在C#中,怎样判断1个字符串,是不是数字啊?
在C#中,怎样判断1个字符串,是不是数字啊?
例如,有个字符串 str = "123";
我要判断str是数字,还是字母
在VB中可以用IsNumeric(str)的,在C#中呢?
问题点数:20、回复次数:26Top
1 楼chNET(有神论者)回复于 2004-09-01 12:00:02 得分 1
str = "123";
try
{
int.Parse(str);
}
catch
{
MessageBox.Show("no");
}Top
2 楼wnlovezxm(大垃圾人)回复于 2004-09-01 12:00:20 得分 1
1.用循环判断
2。用正则
3。比较字母
4。判断编码!
Top
3 楼lshinningstar(网海探路)回复于 2004-09-01 12:00:28 得分 2
没有专门的函数.你可以使用正规表达式
System.Text.RegularExpressionsTop
4 楼Sunmast(速马@Redmond, WA)回复于 2004-09-01 12:01:11 得分 1
搬个板凳过来看热闹嗯..Top
5 楼chNET(有神论者)回复于 2004-09-01 12:01:42 得分 1
or
正则表达式...
Top
6 楼Hero4444(阿神)回复于 2004-09-01 12:01:57 得分 1
用try
catch
判斷簡單方便Top
7 楼morality(业精于勤,行成于思!)回复于 2004-09-01 12:05:35 得分 2
在C#z中用 IsNumber函数
using System;
public class IsNumberSample {
public static void Main() {
string str = "non-numeric";
Console.WriteLine(Char.IsNumber('8')); // Output: "True"
Console.WriteLine(Char.IsNumber(str, 3)); // Output: "False"
}
}
Top
8 楼dwh0722(du)回复于 2004-09-01 12:06:40 得分 10
javascript客户端
//验证输入是否为日期类型
var str=document.form1.TextBox17.value;
var reg=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
var r=str.match(reg);
if(r==null){
alert("对不起,请输入正确的日期格式!\n正确的日期格式:2004-7-8");
return false;
}
代码cs里
if(Regex.IsMatch(TextBox3.Text,@"^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$")==false)
{
Response.Write("<script language=Javascript>alert('对不起,请输入正确的日期格式!正确的日期格式:2004-8-8')</script>");
return;
}Top
9 楼zhushizu(从来就没有救世祖)回复于 2004-09-01 13:30:57 得分 1
是呀,我也是想了好久。。关注中。。。Top
10 楼cyberguy()回复于 2004-09-01 15:02:55 得分 0
正则表达式最方便Top
11 楼zpisgod(GOD)回复于 2004-09-01 15:09:38 得分 0
要说方便还是try{} catch{},不过要异常-捕获,效率低下,还是用正则表达式吧Top
12 楼SpbDev(急先锋)回复于 2004-09-01 15:27:38 得分 0
用Double.Parse吧。
正则要创建对象,效率恐怕不会高的。Top
13 楼vzxq(灵感人)回复于 2004-09-01 15:38:50 得分 0
try
catchTop
14 楼askssj(影子鬼)回复于 2004-09-01 15:54:13 得分 0
建议使用正则表达式。效率??呵呵,很高Top
15 楼simonllf(simon)回复于 2004-09-01 16:04:45 得分 0
MARKTop
16 楼xiangzionest(祥子)回复于 2004-09-01 16:15:36 得分 0
str = "123";
try
{
int.Parse(str);
}
catch
{
MessageBox.Show("no");
}
Top
17 楼sra(sra)回复于 2004-10-11 13:39:15 得分 0
public bool isNum(string num) //判断字符串是否可以转换成数字
{
bool isNum_temp=true;
for(int i=0;i<num.Length;i++)
{
if(!Char.IsNumber(num,i))
{
isNum_temp=false;
}
}
return isNum_temp;
}Top
18 楼mowanglijiang(魔王立江www.3http.com)回复于 2004-10-11 14:32:38 得分 0
不知道有没有像javascript里的parseInt()函数,如果有就好,这函数的目的就是取得字符最前面的数字。
比如 1554asfw 就是1554
8http.com 就是 8
然后判断两者的长度即知道了Top
19 楼Alphoneix(Alphoneix[紫之然])回复于 2004-10-11 16:45:34 得分 0
for (int i=0; i<YourString.Length; i++)
{
if (((int) YourString[i]) < ((int) '0'))
{
return false;
}
if (((int) YourString[i]) > ((int) '9'))
{
return false;
}
}
最古老的方法。Top
20 楼cedar_bj(兔子)回复于 2004-10-11 16:47:31 得分 0
用IS的方法
if(str is int)
{
}
else
{
}
Top
21 楼cedar_bj(兔子)回复于 2004-10-11 16:48:20 得分 0
用IS的方法
if((object)str is int)
{
}
else
{
}
Top
22 楼lijianlee(素色人生)回复于 2004-10-11 16:54:33 得分 0
/检测正整数
function checknum2(val,info)
{
if (info == "" || info == null )
{
info = "该项";
}
if(!checklength(val,info))
return false;
var charset = "1234567890";
var input = document.forms(0).elements[val].value;
if (!checkchar(charset, input, true,info))
{
alert (info + "请输入整数!");
document.forms(0).elements[val].focus();
document.forms(0).elements[val].select();
return false;
}
return true;
}Top
23 楼lijianlee(素色人生)回复于 2004-10-11 16:57:36 得分 0
//检查字符串中是否有规定字符以内/外的字符
function checkchar(charset, val, should_in,info)
{
var num = val.length;
for (i=0; i < num; i++) {
var char = val.charAt(i);
char = char.toUpperCase();
if ((charset.indexOf(char) > -1) && (!should_in))
return false;
else if ((charset.indexOf(char) == -1) && (should_in))
return false;
}
return true;
}
function checklength(val,info,maxlen)
{
if (info == "" || info == null )
{
info = "该项";
}
var str = trim(document.all[val].value);
if ( str == "" && maxlen==null )
{
alert (info+"不可为空");
document.all[val].focus();
document.all[val].select();
return false;
}else if(str!="" && maxlen!=null){
if (str.length>maxlen){
alert(info + "信息超长,最多可输入" + maxlen +"个字符,请重新输入!");
document.all[val].focus();
document.all[val].select();
return false;
}
}
document.all[val].value = str;
return true;
}
上个函数中套用的东西 我的javascript代码千锤百炼。Top
24 楼vzxq(灵感人)回复于 2004-10-11 17:15:02 得分 0
try
catch
足够Top
25 楼lijianlee(素色人生)回复于 2004-10-12 10:01:18 得分 0
我的是正路,你建立个js文件夹,里边建立个文件,把我的javascript代码放进去,就可以随便代用了,以后你写了别的函数也放里边,漫漫积攒起来,那就是一笔财富呀!!!Top
26 楼xiaozikuge(小子酷哥)回复于 2004-10-12 10:25:12 得分 0
正则表达式...Top




