有一个字符串str,我要判断在其中是不是含有除字母数字以外的字符
比如说,如果str=asdf1321654,返回1,如果str=afs&^9//564,返回0
以前用C语言都是从字符串中提出一个字符,判断,然后提取下一个字符
不知道c#中能不也用同样的方法(主要是用于检测用户名和密码中是否含有非法字符,初步认定用户名可以有字母数字和下滑线而密码只能有数字
不知有没有更好的解决方法,请有经验的哥哥姐姐叔叔阿姨指点下)

解决方案 »

  1.   

    正则只有字母和数字
    [a-zA-Z0-9]
      

  2.   

    private int IsDigitOrNumber(string str)
    {
    if(System.Text.RegularExpressions.Regex.IsMatch(str,@"(?i)^[0-9a-z]+$"))
    return 1;
    else return 0;
    }
      

  3.   

    不好意思,方法写错了。。
    IsDigitOrLetter()
    你也可以自己另写方法名。
      

  4.   

    试一下以下代码<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>
      

  5.   

                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("是由字母和数字组成!");
                    }
                }
    没那么麻烦 这样就可以了