c#結合正則表達式驗證輸入的字符串

using System.Text.RegularExpressions;

#region 驗證輸入的字符串
    /// <summary>
    /// 判斷輸入的字符類型 
    /// </summary>
    /// <param name="_value">輸入的字串</param>
    /// <param name="_kind">要驗證的類型</param>
    /// 1: 由26個英文字母組成的字串
    /// 2: 正整數
    /// 3: 非負整數(正整數 + 0)
    /// 4: 非正整數(負整數 + 0)
    /// 5: 負整數
    /// 6: 整數
    /// 7: 非負浮點數(正浮點數 + 0)
    /// 8: 正浮點數
    /// 9: 非正浮點數(負浮點數 + 0)
    /// 10: 負浮點數
    /// 11: 浮點數
    /// 12: 由26個英文字母的大寫組成的字串
    /// 13: 由26個英文字母的小寫組成的字串
    /// 14: 由數位和26個英文字母組成的字串
    /// 15: 由數位、26個英文字母或者下劃線組成的字串
    /// 16: Email
    /// 17: URL
    /// 18: 只能輸入入中文
    /// 19:
    /// </param>
    /// <returns>true是驗証通過,false是驗証錯誤</returns>
    /// <returns></returns>

    public  bool ValidateUserInput(String _value, int _kind)
    {
        string RegularExpressions = null;

        switch (_kind)
        {
            case 1:
                //由26個英文字母組成的字串
                RegularExpressions = "^[A-Za-z]+$";
                break;
            case 2:
                //正整數
                RegularExpressions = "^[0-9]*[1-9][0-9]*$";
                break;
            case 3:
                //非負整數(正整數 + 0)
                RegularExpressions = "^\\d+$";
                break;
            case 4:
                //非正整數(負整數 + 0)
                RegularExpressions = "^((-\\d+)|(0+))$";
                break;
            case 5:
                //負整數
                RegularExpressions = "^-[0-9]*[1-9][0-9]*$";
                break;
            case 6:
                //整數
                RegularExpressions = "^-?\\d+$";
                break;
            case 7:
                //非負浮點數(正浮點數 + 0)
                RegularExpressions = "^\\d+(
\\.\\d+)?$";
                break;
            case 8:
                //正浮點數
                RegularExpressions = "^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$";
                break;
            case 9:
                //非正浮點數(負浮點數 + 0)
                RegularExpressions = "^((-\\d+(
\\.\\d+)?)|(0+(\\.0+)?))$";
                break;
            case 10:
                //負浮點數
                RegularExpressions = "^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$";
                break;
            case 11:
                //浮點數
                RegularExpressions = "^(-?\\d+)(
\\.\\d+)?$";
                break;
            case 12:
                //由26個英文字母的大寫組成的字串
                RegularExpressions = "^[A-Z]+$";
                break;
            case 13:
                //由26個英文字母的小寫組成的字串
                RegularExpressions = "^[a-z]+$";
                break;
            case 14:
                //由數位和26個英文字母組成的字串
                RegularExpressions = "^[A-Za-z0-9]+$";
                break;
            case 15:
                //由數位、26個英文字母或者下劃線組成的字串
                RegularExpressions = "^[0-9a-zA-Z_]+$";
                break;
            case 16:
                //email地址
                RegularExpressions = "
\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*";
                break;
            case 17:
                //url
                RegularExpressions = "^[a-zA-z]+://(
\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$";
                break;
            case 18:
                //只能輸入中文
                RegularExpressions = "^[^\u4E00-\u9FA5]";
                break;
            case 19:
                //只能输入0和非0打头的数字
                RegularExpressions = "^(0|[1-9][0-9]*)$";
                break;
            case 20:
                //只能输入数字
                RegularExpressions = "^[0-9]*$";
                break;
            case 21:
                //只能輸入數字加2位小數
                RegularExpressions = "^[0-9]+(.[0-9]{1,2})?$";
                break;
            case 22:
                //只能输入0和非0打头的数字加2位小數
                RegularExpressions = "^(0|[1-9]+)(.[0-9]{1,2})?$";
                break;
            case 23:
                //只能输入0和非0打头的数字加2位小數  但不匹配0.00
                RegularExpressions = "^(0(.(0[1-9]|[1-9][0-9]))?|[1-9]+(.[0-9]{1,2})?)$";
                break;
            default:
                break;
        }

        Match m = Regex.Match(_value, RegularExpressions);

        if (m.Success)
            return true;
        else
            return false;

    }
    #endregion 

转载于:https://www.cnblogs.com/Athrun/archive/2008/01/02/1022678.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/300509.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实名羡慕,国内这些厂.NET薪资高的吓人!

小米招C#工程师&#xff0c;要求WPF自动化设备&#xff0c;20~40k * 14薪&#xff1b;小鹏招WPF/.NET/PLC&#xff0c;25~40k年终&#xff1b;特斯拉招自动化控制16~25k * 15薪&#xff0c;华为应届硕士C#运动控制&#xff0c;就已经17~25k *14薪了。这些招聘让人眼热&#xff…

修车工在生命最后,才知道自己的儿子是如今世界首富!

全世界只有3.14 % 的人关注了青少年数学之旅在美国亚利桑那州凤凰城&#xff0c;曾经住着一个叫Ted Jorgensen的自行车修理工&#xff0c;他开了一家自行车店&#xff0c;平时默默的卖车修车&#xff0c;日子过的平平淡淡。在凤凰城郊区&#xff0c;他和二婚妻子住在这么一间不…

没有情人的情人节

我想和她一生一世。神却说&#xff1a;你只能爱她七天&#xff0c;我说&#xff1a;星期一到星期天。神&#xff1a;只四天呢&#xff1f;我&#xff1a;春天夏天秋天冬天。神&#xff1a;只三天呢? 我&#xff1a;今天明天后天。神&#xff1a;只两天&#xff1f;我&#xff…

Sublime Text 2 中运行 PHP

2019独角兽企业重金招聘Python工程师标准>>> Sublime Text 2 has the concept of build systems. This basically means that if you are editing a Python file then you can run the Python interpreter on the source file your are editing and see the output …

理解 Delphi 的类(七) - 认识类的多态

什么是多态? 我的理解就是: 同样一个方法, 在不同的对象里会有不同的实现, 仅此而已.unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 class(TForm)Button1: TButton;Button2: TButton;Bu…

python退出帮助系统help应该使用exit_python--help - tesion

python help学习python的过程中&#xff0c;难免遇到一些生疏的东西&#xff0c;为此需要参看相关的文档说明。Linux下众所周知有man可以查找系统的命令帮助页&#xff1b;对于python也提供了自己的帮助文档的2种方式&#xff1a;方式一&#xff1a;启动python解释器&#xff0…

试用GitHub Copilot一周后,我给你的建议是:不要使用它

如果你还不知道“GitHub Copilot”&#xff0c;它是GitHub推出“AI程序员”插件&#xff0c;可以根据你在VS Code输入的部分代码或注释&#xff0c;自动生成完整的代码。在我上次的文章中&#xff0c;演示了GitHub Copilot是如何工作的。刚开始&#xff0c;我对能够试用GitHub …

你知道长颈鹿是怎么睡觉的吗? | 今日趣图

全世界只有3.14 % 的人关注了青少年数学之旅一图教你打太极拳其实指甲也是一味药材你知道长颈鹿是怎么睡觉的吗&#xff1f;健身和肥宅的区别Win10的内置桌面并不是P的而是搭实景拍出来的当你玩游戏的时候...这才是第一个用蚂蚁花“被”...呗的人一般人的身高和他的臂展差不多一…

华仔andylau

好久没关注华仔&#xff0c;今天到华仔天地会逛下&#xff0c;转几张图片

ubuntu下搭建java web开发环境的详细步骤

系统环境&#xff1a;Ubuntu 10.10&#xff08;linux-kernel 2.6.35-22&#xff09;安装版本&#xff1a;apache-tomcat-7.0.29.tar.gz&#xff08;官方网址&#xff1a;Apache Tomcat&#xff09;安装步骤&#xff1a;1、下载 Tomcat下载 apache-tomcat-7.0.29.tar.gz&#xf…

C#网络类智能开关控制板实例

网络类智能开关控制板采用 TCP/IP 协议与控制主机&#xff08;PC 机&#xff09;进行通讯&#xff0c;运行稳定可靠&#xff0c;传输距离远&#xff0c;尤其适合不方便布线的场所。每块开关板分配一个唯一的 IP 地址&#xff0c;通过 IP 地址进行控制数据的传输区分&#xff1b…

.net 出现的异常

1 --------------------------- Microsoft Development Environment --------------------------- 没有可用于当前位置的源代码。 --------------------------- 确定 --------------------------- 2--------------------------- Microsoft 开发环境 -----------------------…

选择湿度传感器注意的若干问题

人类的生存和社会活动与湿度密切相关。随着现代化的实现&#xff0c;很难找出一个与湿度无关的领域来。由于应用领域不同&#xff0c;对湿度传感器的技术要求也不同。从制造角度看&#xff0c;同是湿度传感器&#xff0c;材料、结构不同&#xff0c;工艺不同&#xff0e;其性能…

unix系统mysql卸载教程_Linux操作系统下MySQL的卸载、安装全过程

Linux下卸载MySQL1、查找以前是否装有MySQL命令&#xff1a;rpm -qa|grep -i MySQL可以看到MySQL的两个包&#xff1a;MySQL-4.1.12-3.RHEL4.1MySQLclient10-3.23.58-4.RHEL4.12、删除MySQL删除命令&#xff1a;rpm -e --nodeps 包名( rpm -ev MySQL-4.1.12-3.RHEL4.1 )3、删除…

扎哈遗作:北京大兴机场,耗资800亿,被英国《卫报》评为新世界七大奇迹!...

全世界只有3.14 % 的人关注了青少年数学之旅在经历了7次综合模拟演练、3场验证试飞之后&#xff0c;北京大兴国际机场终于迎来它“凤凰展翅”的高光时刻。这也意味着&#xff0c;北京将成为世界首个拥有双国际枢纽机场的城市。就连张口闭口说我们吃不起茶叶蛋、买不起榨菜的湾湾…

MVP on Board 没用小技巧

七月入选了微软 MVP&#xff0c;本文记录 on board 过程中遇到的小问题和没用小技巧。MVP Portal 当你收到来自微软的确认邮件之后&#xff0c;你将正式被接纳为微软现任 MVP 的一员。从此刻开始&#xff0c;你便拥有了 MVP portal 上相关的操作权限。MVP portal 的地址是 http…

JavaScript组件之JQuery(A~Z)教程(基于Asp.net运行环境)[示例代码下载](一)

(一).概述 现在有好多比较优秀的客户端脚本语言组件, 如: Prototype、YUI、jQuery、mootools、Bindows, Scriptaculous, FCKEditor 等, 都非常不错, 最近研究了一下 jQuery,在学习时顺便整理了一个教程, 后面会有示例代码下载链接. jQuery是JavaScript语言的一个新的资源库(…

一条未发出的短信

男孩和女孩是一对情侣&#xff0c;女孩喜欢感受下雨&#xff0c;男孩种是在下雨的时候为女孩撑着伞&#xff0c;伞的大半部分都是遮着女孩的&#xff0c;每次雨水都打湿着男孩的身子&#xff0c;他没说什么&#xff0c;只是默默看着女孩陶醉的脸。他觉得很幸福&#xff0c;女孩…

普通人改变命运最关键的这几种方法

全世界只有3.14 % 的人关注了青少年数学之旅在工作之余&#xff0c;我们大量的碎片时间被手机占据。无意识的刷手机打发无聊&#xff0c;不如有趣又高品质的积累。我们特意精选了在不同领域的几个高品质公众号代表&#xff0c;希望让你在快乐打发闲暇时光的同时&#xff0c;也能…

JavaScript Dom编程艺术

当我对JavaScript还停留在只认识这几个字母的时候&#xff0c;有一天我突然心血来潮&#xff0c;在网上下了DOM Scripting的样章&#xff0c;照着里面的例子写了我平生第一个能让我知所以然JavaScript&#xff0c;在浏览器运行成功&#xff0c;兴奋不已&#xff0c;从此能把学习…