比如说,如果str=asdf1321654,返回1,如果str=afs&^9//564,返回0
以前用C语言都是从字符串中提出一个字符,判断,然后提取下一个字符
不知道c#中能不也用同样的方法
(主要是用于检测用户名和密码中是否含有非法字符,初步认定用户名可以有字母数字和下滑线而密码只能有数字
不知有没有更好的解决方法,请有经验的哥哥姐姐叔叔阿姨指点下)
10 个解决方案
#1
正则表达式 easy
#2
正则:
^(?i)[a-z0-9]+$
#3
正则只有字母和数字
[a-zA-Z0-9]
[a-zA-Z0-9]
#4
private int IsDigitOrNumber(string str)
{
if(System.Text.RegularExpressions.Regex.IsMatch(str,@"(?i)^[0-9a-z]+$"))
return 1;
else return 0;
}
#5
不好意思,方法写错了。。
IsDigitOrLetter()
你也可以自己另写方法名。
IsDigitOrLetter()
你也可以自己另写方法名。
#6
正则
[a-zA-Z0-9]
[a-zA-Z0-9]
#7
楼上正解
结贴吧
结贴吧
#8
试一下以下代码
<html>
<head>
<title>检查是否为数字和字母</title>
<script language="javascript">
function check(){
str = form1.txt.value;
str = str.match(/[^a-zA-Z0-9.]/g);
if(str != null){
alert("输入错误!");
return false;
}else{
alert("输入正确!");
}
}
</script>
</head>
<body>
<form name="form1" onSubmit="return check()">
<input type="text" name="txt">
<input type="submit" value="检验">
</form>
</body>
</html>
#9
str = textBox2.Text;
int i = 0;
foreach(char a in str)
{
if (a >= 65 && a <= 90 || a >= 97 && a <= 122 || a >= 48 && a <= 57)
{
i++;
}
else
{
MessageBox.Show("不是由字母和数字组成!");
break;
}
if(i==str.Length)
{
MessageBox.Show("是由字母和数字组成!");
}
}
没那么麻烦 这样就可以了
int i = 0;
foreach(char a in str)
{
if (a >= 65 && a <= 90 || a >= 97 && a <= 122 || a >= 48 && a <= 57)
{
i++;
}
else
{
MessageBox.Show("不是由字母和数字组成!");
break;
}
if(i==str.Length)
{
MessageBox.Show("是由字母和数字组成!");
}
}
没那么麻烦 这样就可以了
#10
谢谢各位高手了
#1
正则表达式 easy
#2
正则:
^(?i)[a-z0-9]+$
#3
正则只有字母和数字
[a-zA-Z0-9]
[a-zA-Z0-9]
#4
private int IsDigitOrNumber(string str)
{
if(System.Text.RegularExpressions.Regex.IsMatch(str,@"(?i)^[0-9a-z]+$"))
return 1;
else return 0;
}
#5
不好意思,方法写错了。。
IsDigitOrLetter()
你也可以自己另写方法名。
IsDigitOrLetter()
你也可以自己另写方法名。
#6
正则
[a-zA-Z0-9]
[a-zA-Z0-9]
#7
楼上正解
结贴吧
结贴吧
#8
试一下以下代码
<html>
<head>
<title>检查是否为数字和字母</title>
<script language="javascript">
function check(){
str = form1.txt.value;
str = str.match(/[^a-zA-Z0-9.]/g);
if(str != null){
alert("输入错误!");
return false;
}else{
alert("输入正确!");
}
}
</script>
</head>
<body>
<form name="form1" onSubmit="return check()">
<input type="text" name="txt">
<input type="submit" value="检验">
</form>
</body>
</html>
#9
str = textBox2.Text;
int i = 0;
foreach(char a in str)
{
if (a >= 65 && a <= 90 || a >= 97 && a <= 122 || a >= 48 && a <= 57)
{
i++;
}
else
{
MessageBox.Show("不是由字母和数字组成!");
break;
}
if(i==str.Length)
{
MessageBox.Show("是由字母和数字组成!");
}
}
没那么麻烦 这样就可以了
int i = 0;
foreach(char a in str)
{
if (a >= 65 && a <= 90 || a >= 97 && a <= 122 || a >= 48 && a <= 57)
{
i++;
}
else
{
MessageBox.Show("不是由字母和数字组成!");
break;
}
if(i==str.Length)
{
MessageBox.Show("是由字母和数字组成!");
}
}
没那么麻烦 这样就可以了
#10
谢谢各位高手了