当前位置: 首页 > 面试题库 >

在AngularJS中设置电话和信用卡号

宰修能
2023-03-14
问题内容

问题一(格式化电话号码):

我必须在AngularJS中格式化电话号码,但是没有用于它的过滤器。有没有办法使用过滤器或货币将10位数字格式化为(555) 555-5255?仍然将字段的数据类型保留为整数?

问题二(掩盖信用卡号):

我有一个映射到AngularJS的信用卡字段,例如:

<input type="text" ng-model="customer.creditCardNumber">

这将返回整数(4111111111111111)。我想用xxx屏蔽掉它的前12位数字,而只显示最后4位数字。我正在考虑使用filter:限制,但不清楚如何。有任何想法吗?有没有一种方法也可以用破折号格式化数字,但仍将数据类型保留为整数?有点4111-1111-1111-1111


问题答案:

另外,如果只需要格式化输出中的电话号码,则可以使用如下所示的自定义过滤器:

angular.module('ng').filter('tel', function () {
    return function (tel) {
        if (!tel) { return ''; }

        var value = tel.toString().trim().replace(/^\+/, '');

        if (value.match(/[^0-9]/)) {
            return tel;
        }

        var country, city, number;

        switch (value.length) {
            case 10: // +1PPP####### -> C (PPP) ###-####
                country = 1;
                city = value.slice(0, 3);
                number = value.slice(3);
                break;

            case 11: // +CPPP####### -> CCC (PP) ###-####
                country = value[0];
                city = value.slice(1, 4);
                number = value.slice(4);
                break;

            case 12: // +CCCPP####### -> CCC (PP) ###-####
                country = value.slice(0, 3);
                city = value.slice(3, 5);
                number = value.slice(5);
                break;

            default:
                return tel;
        }

        if (country == 1) {
            country = "";
        }

        number = number.slice(0, 3) + '-' + number.slice(3);

        return (country + " (" + city + ") " + number).trim();
    };
});

然后,您可以在模板中使用此过滤器:

{{ phoneNumber | tel }}
<span ng-bind="phoneNumber | tel"></span>


 类似资料:
  • 我是一名android应用程序开发人员。我只是想知道,我们能不能通过打电话或发短信给一个电话号码来获取这个号码的地理位置?就像在whatsapp中,我们可以看到这个人最后出现的时间,同样我们也可以得到最后出现的时间和最后的确切位置。这是在facebook messenger中找到的。我只是好奇是否可以只用一个电话号码。

  • 我下载了AngularJS phonecat应用程序,并在全球范围内安装了bower、HTTP服务器、karma、量角器。但当我移动到带有代码的目录并尝试“npm start”时,它将运行“npm install”并显示以下错误: Angular-PhoneCat@0.0.0预启动/用户/Twer/Angular-PhoneCat npm安装 npm警告锁定错误:EACCES,open“/user

  • 数开岗位 10.21 一面是个小姐姐,没八股,基本上按着简历问项目,感觉很好。反问表现,说很优秀,职位也很匹配。 四五分钟之后二面 二面问了数仓之外的其他项目,主要是本科和研究生的研究方向,项目中主要什么职责,遇到的问题,不过面试官网络有点卡,本科和研究生都是安全方向,问了些很开放的数据安全问题,结束的时候就说通过二面,还说网络卡一直道歉。 没超过10分钟约HR面 HR面就很开放,一些个人能力,基

  • 我试图确定multisim Android设备(运行Android 7.0)是否有任何工作/启用的sim卡。为此,我遵循Google关于将多个TelephonyManager附加到默认TelephonyManager实例的文档,如下所示:https://developer.android.com/reference/android/telephony/TelephonyManager.html#S

  • 我想从应用程序拨打电话。 是否可以将选项限制为仅从内置电话应用程序呼叫,而不将Viber,Skype或Whatsapp显示为选项? 以下是我的代码: 我想看起来像这样: 而不是这样(如果我已经安装了Viber和Skype): 我尝试使用以下代码: 这让Skype成为一种选择,我也不知道为什么?

  • 我希望在输入TextField时实时格式化电话号码。目标是在根据国家/地区形成电话号码的不同数字之间添加“分隔符”(空格、破折号、点...)。默认情况下,法国:06 23 65 14 85但也适用于其他国家/地区,如国际格式法语:33 6 23 65 14 85或德国国际格式:xx xxx xxx xx xxx 为此,我有一个监听器,当在TextField中添加新号码时,它会永久查找。然后,程序会