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

【Github源码】

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

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

常用类

是否合法手机号码

是否合法固定电话

是否合法邮箱地址

是否合法URL链接地址

是否合法IP地址

是否合法身份证号码

字符类

是否英文字符

是否小写英文字符

是否大写英文字符

是否中文字符

是否中文或英文字符

是否中文和英文字符

是否英文或数字

是否英文和数字

是否中文或英文或数字

是否中文和英文和数字

是否有效账户名

数字类

是否合法数值

是否合法整数

是否合法正整数

是否合法自然数

是否合法浮点数

是否特定精度的浮点数


一、常用类

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 是否为合法邮箱地址格式,如xxxx@xx.com等。

// 判断test@xmtool.com是否为合法邮箱地址
bool ret = Xmtool.Regex().IsEmail("test@xmtool.com");

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 是否全部由中文汉字或者英文字符组成。

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

6. 是否中文和英文字符

public bool IsChineseAndEnglish(string value)

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

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

7. 是否英文或数字

public bool IsEnglishOrNumber(string value)

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

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

8. 是否英文和数字

public bool IsEnglishAndNumber(string value)

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

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

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

public bool IsChineseOrEnglishOrNumber(string value)

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

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

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

public bool IsChineseAndEnglishAndNumber(string value)

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

// 判断 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源码】

posted @ 2022-09-07 18:23  bcbr_wang  阅读(266)  评论(0编辑  收藏  举报