zoukankan      html  css  js  c++  java
  • 判断输入的字符串是否是合法路径,并验证后面的输入是否含有非法字符

    #region =方法---判断输入的字符串是否是合法路径,并验证后面的输入是否含有非法字符

    尝试过使用正则表达式来判断,但是不是太管用,就就先检测盘符,按照正常的路径“C:File”的前三位“C:”判断前三位的输入,后面在判断输入的是否是非法字符,只要不是非法字符,路径就是合法的。

    private bool IsCorrectPath(string path)
    {
    path = path.ToUpper();//转换成大写
    string diskStr = "CDEFGHIJK"; //CDEFGHIJK等磁盘,AB大部分不用了
    if (path.Length >= 3) //C:File 长度至少要有4个
    {
    //1.取第一个,看是否是盘符
    string fristChar = path.Substring(0, 1);
    if (diskStr.IndexOf(fristChar) >= 0)
    {
    //2.然后再看后面是不是 : 这样的
    string lastStr = path.Substring(1, 2);
    if (lastStr == ":\")
    {
    if (path.Length > 3)
    {
    string ff = path.Substring(3, path.Length - 3);//去后面的字符
    Regex regex = new Regex(@"^[^/:*?""<>|\,;]+$");//非法字符的正则表达式
    Match m = regex.Match(ff);
    if (m.Success)
    {
    this.Invoke(new Action(() =>
    {
    lblMess.Text = "路径合法,请进行下一步";
    }));
    return true;
    }
    else
    {
    this.Invoke(new Action(() =>
    {
    lblMess.Text = "请勿在文件名中包含\ / : * ? " < > |等字符,请重新输入有效文件名!";
    }));
    return true;
    }
    }
    else
    {
    this.Invoke(new Action(() =>
    {
    lblMess.Text = "路径合法,请进行下一步";
    }));
    return true;
    }
    }
    }
    }
    this.Invoke(new Action(() =>
    {
    lblMess.Text = "非法的文件保存路径,请重新选择或输入!";
    }));
    return false;
    
    }
    #endregion
  • 相关阅读:
    Ubuntu 8.04安设nVidia新版表现驱动
    特性化设置你的linux环境
    Ubuntu 8.04 去失踪文泉驿的点阵字形的方法
    Fedora Nightlife项目 扶助较劲争论机的空闲
    Ubuntu显卡驱动不精确,进入黑屏的处置装备
    Linux中翻开带flash网页主动封锁的处理办法
    Firefox 3 Alpha 5
    Ubuntu 8.04无法正常关机成就处置惩罚
    Redhat Enterprise Linux 5.2 公布了
    KOffice 1.6.3
  • 原文地址:https://www.cnblogs.com/ogre-zl/p/13597484.html
Copyright © 2011-2022 走看看