首页 > 其他分享 >开源.NetCore通用工具库Xmtool使用连载 - 正则表达式篇

开源.NetCore通用工具库Xmtool使用连载 - 正则表达式篇

时间:2023-08-18 18:01:15浏览次数:45  
标签:字符 NetCore 是否 value 开源 bool Xmtool 英文

【Github源码】

《上一篇》详细介绍了Xmtool工具库中的日期时间类库,今天我们继续为大家介绍其中的正则表达式类库。

在日常的软件开发过程中,每个人都会或多或少的遇到各种各样需要校验数据格式的需求,有些格式是和具体业务逻辑相关;而有些格式是业界标准,在任何系统和功能中都一致通用的。Xmtool将大家最常用的格式检查正则表达式进行了整理汇总,主要提供如下方法:

常用类

是否合法手机号码

是否合法固定电话

是否合法邮箱地址

是否合法URL链接地址

是否合法IP地址

是否合法身份证号码

字符类

是否英文字符

是否小写英文字符

是否大写英文字符

是否中文字符

是否中文或英文字符

是否中文和英文字符

是否英文或数字

是否英文和数字

是否中文或英文或数字

是否中文和英文和数字

是否有效账户名

数字类

是否合法数值

是否合法整数

是否合法正整数

是否合法自然数

是否合法浮点数

是否特定精度的浮点数

<br/>

一、常用类

1. 是否合法手机号码

public bool IsMobile(string value)

说明:判断传入字符串 value 是否为1开头的11位数字。

// 判断13012345678是否为合法手机号
bool ret = Xmtool.Regex().IsMobile("13012345678");

2. 是否合法固定电话

public bool IsTelephone(string value)

说明:判断传入字符串 value 是否为合法固定电话,010-12345678或0312-1234567。

// 判断010-12345678是否为合法固定电话
bool ret = Xmtool.Regex().IsTelephone("010-12345678");

3. 是否合法邮箱地址

public bool IsEmail(string value)

说明:判断传入字符串 value 是否为合法邮箱地址格式,如[email protected]等。

// 判断[email protected]是否为合法邮箱地址
bool ret = Xmtool.Regex().IsEmail("[email protected]");

4. 是否合法URL链接地址

public bool IsUrl(string vaule)

说明:采用宽松检查格式,http://、https://、ftp://等作为前缀的字符串都属于合法的URL链接地址。

// 判断http://www.baidu.com是否为合法URL地址
bool ret = Xmtool.Regex().IsUrl("http://www.baidu.com");

5. 是否合法IP地址

public bool IsIP(string value)

说明:该方法检测不支持IPv6,只针对IPv4地址格式进行检测;如192.168.1.1。

// 判断192.168.1.1是否为有效IPv4地址
bool ret = Xmtool.Regex().IsIP("192.168.1.1");

6. 是否合法身份证号码

public bool IsIDCard(string value)

说明:针对中国公民身份证号码进行检测,18位符合规则的号码。

// 判断身份证 1xxxxxxxxxxxxxxxxxx 是否为合法身份证号码
bool ret = Xmtool.Regex().IsIDCard("1xxxxxxxxxxxxxxxxxx");

二、字符类

1. 是否英文字符

public bool IsEnglish(string value)

说明:判断传入的 value 是否全部由英文字符组成。

// 判断 Hello 是否英文字符
bool ret = Xmtool.Regex().IsEnglish("Hello");

2. 是否小写英文字符

public bool IsLowercaseEnglish(string value)

说明:判断传入的 value 是否全部由小写英文字符组成。

// 判断 hello 是否小写英文字符
bool ret = Xmtool.Regex().IsLowercaseEnglish("hello");

3. 是否大写英文字符

public bool IsCapitalEnglish(string value)

说明:判断传入的 value 是否全部由大写英文字符组成。

// 判断 HELLO 是否大写英文字符
bool ret = Xmtool.Regex().IsCapitalEnglish("HELLO");

4. 是否中文字符

public bool IsChinese(string value)

说明:判断传入的 value 是否全部由中文汉字组成。

// 判断 中国人民万岁 是否中文字符
bool ret = Xmtool.Regex().IsChinese("中国人民万岁");

5. 是否中文或英文字符

public bool IsChineseOrEnglish(string value)

说明:判断传入的 value 是否全部由中文汉字<b>或者</b>英文字符组成。

// 判断 Hello你好 是否中文或英文字符
bool ret = Xmtool.Regex().IsChineseOrEnglish("Hello你好");

6. 是否中文和英文字符

public bool IsChineseAndEnglish(string value)

说明:判断传入的 value 是否全部由中文汉字<b>或者</b>英文字符组成;且<b>同时包含</b>中文汉字和英文字符。

// 判断 Hello你好 是否中文和英文字符
bool ret = Xmtool.Regex().IsChineseAndEnglish("Hello你好");

7. 是否英文或数字

public bool IsEnglishOrNumber(string value)

说明:判断传入的 value 是否全部由英文字符<b>或者</b>数字组成。

// 判断 Hello123 是否英文或数字
bool ret = Xmtool.Regex().IsEnglishOrNumber("Hello123");

8. 是否英文和数字

public bool IsEnglishAndNumber(string value)

说明:判断传入的 value 是否全部由英文字符<b>或者</b>数字组成;且<b>同时包含</b>英文字符和数字。

// 判断 Hello123 是否英文字符和数字
bool ret = Xmtool.Regex().IsEnglishAndNumber("Hello123");

9. 是否中文或英文或数字

public bool IsChineseOrEnglishOrNumber(string value)

说明:判断传入的 value 是否全部由中文汉字<b>或者</b>英文字符<b>或者</b>数字组成。

// 判断 Hello123 是否中文或英文或数字
bool ret = Xmtool.Regex().IsChineseOrEnglishOrNumber("Hello123");

10. 是否中文和英文和数字

public bool IsChineseAndEnglishAndNumber(string value)

说明:判断传入的 value 是否全部由中文汉字<b>或者</b>英文字符<b>或者</b>数字组成;且<b>同时包含</b>中文汉字、英文字符和数字。

// 判断 Hello你好123 是否中文和英文和数字
bool ret = Xmtool.Regex().IsChineseAndEnglishAndNumber("Hello你好123");

11. 是否有效账户名

public bool IsAccount(string value)

说明:判断传入的 value 是否有效的账户名,规则为以英文字符开头,只能包含英文字符、数字或者下划线。

// 判断 softwaiter 是否有效账户名
bool ret = Xmtool.Regex().IsAccount("softwaiter");

三、数字类

1. 是否合法数值

public bool IsNumber(string value)

说明:判断传入的 value 是否为数值,包括任意形式的数值:0、整数、小数等。

// 判断 123 是否合法数值
bool ret = Xmtool.Regex().IsNumber("123");

2. 是否合法整数

public bool IsInteger(string value)

说明:判断传入的 value 是否为整数,包括负整数、0、正整数。

// 判断 123 是否合法整数
bool ret = Xmtool.Regex().IsInteger("123");

3. 是否合法正整数

public bool IsPositiveInteger(string value)

说明:判断传入的 value 是否为正整数,即所有大于0的整数。

// 判断 123 是否合法正整数
bool ret = Xmtool.Regex().IsPositiveInteger("123");

4. 是否合法自然数

public bool IsNaturalInteger(string value)

说明:判断传入的 value 是否为自然数,即所有大于等于0的整数。

// 判断 123 是否合法自然数
bool ret = Xmtool.Regex().IsNaturalInteger("123");

5. 是否合法浮点数

public bool IsDecimal(string value)

说明:判断传入的 value 是否为浮点数,即包含小数部分的数值。

// 判断 0.123 是否合法浮点数
bool ret = Xmtool.Regex().IsDecimal("0.123");

6. 是否特定精度的浮点数

public bool IsDecimal(string value, int precision)

说明:判断传入的 value 是否为指定精度的浮点数,即包含的小数部分的位数为 precision 指定值。

// 判断 0.58 是否合法2位精度的浮点数
bool ret = Xmtool.Regex().IsDecimal("0.58", 2);

【Github源码】

标签:字符,NetCore,是否,value,开源,bool,Xmtool,英文
From: https://blog.51cto.com/u_16229237/7139966

相关文章

  • 关于云原生开源开发者沙龙「微服务X消息队列专场」的延期通知
    作者:微服务X消息队列各位报名参会的同学,大家好:非常感谢大家对本期云原生开源开发者沙龙「微服务X消息队列专场」的关注与支持。因故原定于8月12日(周六)举办的沙龙延期举行。具体时间和举办地点如下:阿里云云原生开源开发者沙龙微服务X消息队列专场深圳站,推迟于8月27日(......
  • C#程序变量统一管理例子 - 开源研究系列文章
            今天讲讲关于C#应用程序中使用到的变量的统一管理的代码例子。        我们知道,在C#里使用变量,除了private私有变量外,程序中使用到的公共变量就需要进行统一的存放和管理。这里笔者使用到的公共变量管理库划分为:1)窗体;2)路径;3)对象;所以笔者对这几个库进行......
  • 10.4K Star!程序员为程序员针对性优化的开源免费笔记
    平时我一直用Notion来记录内容为主,但也一直关注着其他开源产品。上周正好看到一款非常受欢迎的开源免费笔记,今天就推荐给大家:VNote。VNote一个由程序员为程序员打造的开源笔记应用,基于Qt开发,专注于使用Markdown来写作的群体。它提供完美的编辑体验和强大的笔记管理功能,使得使......
  • 无限开商户的开源SaaS进销存源码,商户支持多门店多仓库
    随着软件行业的发展,越来越多的公司开始采用SaaS(软件即服务)模式来构建软件产品,以降低部署和维护的成本,并方便软件升级和更新。SaaS进销存系统是一个基于云计算的管理系统,通过浏览器或移动设备访问,无需在本地安装大量软件。它具有轻量级、自动化等特点,可以快速上手,降低企业成本。管店......
  • 【分布式技术专题】「分布式ID系列」百度开源的分布式高性能的唯一ID生成器UidGenerat
    推荐超值课程:点击获取UidGenerator是什么UidGenerator是百度开源的一款分布式高性能的唯一ID生成器,更详细的情况可以查看官网集成文档uid-generator是基于Twitter开源的snowflake算法实现的一款唯一主键生成器(数据库表的主键要求全局唯一是相当重要的)。要求java8及以上版本......
  • 开源十年后 Cap’n Proto 1.0 终发布,比 Protocol Buffers 快太多
    导读Cap'nProto是一种速度极快的数据交换格式和capability-basedRPC系统,于2013年4月开源发布。时至今日,Cap'nProto1.0终于发布,这是一个长期支持版本。Cap'nProto是一种速度极快的数据交换格式和capability-basedRPC系统,于2013年4月开源发布。时至今......
  • 开源项目自荐:截图工具(小、快、功能丰富)
    我最近开发了一款截图程序,在GitHub开源:https://github.com/xland/ScreenCapture​基础的功能该有的都有了,而且有些功能还更好,大家想要什么功能可以提Issue,我看响应的人多,我就做。当然如果发现了BUG,也请提Issue,谢谢啦。下面是这个程序的一些特性:多屏幕截图、跨屏幕截图画椭圆......
  • 基于开源模型的实时人脸识别系统
    目录背景效果实现功能系列预计写得一些内容整体框架代码结构软件使用说明注册人员打开输入源打开视频文件打开USB摄像头打开IP摄像头(rtsp)输出说明数据说明背景人脸识别已经发展了很多年,随着深度学习发展,开源的模型也有很不错的效果了。我们可以在不需要深入各种算法细节的情况下......
  • 打造属于自己的人体识别系统:基于openpose,开源且免费
    安装CMake:访问CMake的官方网站(https://cmake.org/download/),下载最新的Windows安装程序。运行下载的安装程序,并按照安装向导的说明进行安装。安装CUDA(可选):CUDA是用于GPU加速的平行计算平台,对于OpenPose的一些功能来说是可选的,但推荐安装。访问NVIDIA官方网站(https://developer.nvid......
  • Dify 加入更多国内外优秀模型,轻松调用 Llama2、ChatGLM 等热门开源模型
    Dify的朋友们,不少细心的网友在周末的时候就已经发现了我们产品上的更新--模型供应商上新增了一大批新模型,这也是很多朋友翘首以盼的版本--V0.3.13。此前Dify已经陆续支持了全球前列的模型优秀代表:OpenAI的GPT系列、Anthropic的Claude系列、AzureOpenAI系列。本次更新......