小编KoK*_*oKo的帖子

使用libphonenumber在不知道国家的情况下验证手机号码

我有来自任何国家/地区的电话号码列表(字符串)。

例如:

var items = new List<string> { "+989302794433", "009891234599882", "+391234567890", "00336615551212"};

起初,我认为每个国家/地区代码长度正好是两个数字,例如(33:法国,39:意大利,98:伊朗,...)。

使用libphonenumber库,您必须通过 regCode 进行解析。并且因为(在我的场景中)我得到了字符串列表(手机号码),那么我必须将国家代码与号码分开。

       foreach (var item in items)
        {
            int countryCode = 0;
            var number = "";

            if (item.StartsWith("+"))
            {
                countryCode = int.Parse(item.Substring(1, 2));
                number = item.Substring(3);
            }
            else if (item.StartsWith("00"))
            {
                countryCode = int.Parse(item.Substring(2, 2));
                number = item.Substring(4);
            }
           var regCode = phoneUtil.GetRegionCodeForCountryCode(countryCode);

            var numberWithRegCode = phoneUtil.Parse(number, regCode);

            if (!phoneUtil.IsValidNumber(numberWithRegCode)) continue;
            //else ...
        }  
Run Code Online (Sandbox Code Playgroud)

此代码仅适用于长度为两个数字的国家/地区代码!

但是过了一会儿,我知道某些国家/地区代码长度是一个数字(例如,美国:1)甚至三个数字!。

现在,是否存在使用libphonenumber库(或其他解决方案)来解决此问题的任何方法?

多谢

c# libphonenumber

4
推荐指数
1
解决办法
8615
查看次数

带有真实示例的角度材质树复选框

我已经看过几乎所有有关如何使用角度材质树复选框组件的示例。例如官方示例this
这些示例向我们展示了数据绑定时的字符串数组结构。但是我们如何将嵌套的复杂对象数组转换为该组件呢?

我的数据结构:

在此输入图像描述

正如您所看到的,数据告诉客户端必须将复选框的哪些项目设置为勾选。并且“Id”必须绑定到树。

当我用官方示例“TREE-DATA”替换“TREE-DATA”时,我看到以下树结果。
我想我们需要更改官方示例中的“buildFileTree()”或“transformer()”方法。 在此输入图像描述

角度(7.0.0)、角度材质(6.4.7)

checkbox tree checkboxtree angular-material angular

4
推荐指数
1
解决办法
8261
查看次数

Kafka 和 RabbitMQ 的公共交通配置

我想将 Mass Transit 与 RabbitMQ 和 Kafka 结合使用作为消息代理。
在部署阶段可以决定使用哪一个来传输消息。

我知道什么是 ConsumeContext、ISendEndpointProvider 或 IPublishEndpoint。根据 链接,该接口在 RabbitMQ 和 Kafka 之间共享,用于发布消息并使用该消息。
我在 .Net Core 应用程序启动时配置了 RabbitMQ 和 Kafka,并通过部署阶段的 appSetting 可以决定必须注册哪一个。

这种方法对于在我的应用程序中同时配置 Kafka 和 RabbitMq 是否正确?

masstransit rabbitmq

1
推荐指数
1
解决办法
1969
查看次数