Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS:用破折号格式化5位或9位的邮政编码_Javascript_Html_Angularjs_Filter_Format - Fatal编程技术网

Javascript AngularJS:用破折号格式化5位或9位的邮政编码

Javascript AngularJS:用破折号格式化5位或9位的邮政编码,javascript,html,angularjs,filter,format,Javascript,Html,Angularjs,Filter,Format,有一个字符串表达式{{zipcode}},显示5位或9位数字 自动以xxxxx或xxxxx-xxxx格式显示此邮政编码的最佳方式是什么 我相信使用过滤器是一个不错的选择,但与过滤器和ui掩码有些混淆 谢谢。使用过滤器确实是解决这个问题的方法。以下是两种解决方案: 使用模块 您可以使用此筛选器添加项目并格式化邮政编码: {{981222735 | zipcode} 自己动手 以下是此过滤器的工作原理: 接收输入 验证它是否有5位或9位数字 如果zipcode有9位数字,则返回格式化的zipcode

有一个字符串表达式
{{zipcode}}
,显示5位或9位数字

自动以
xxxxx
xxxxx-xxxx
格式显示此邮政编码的最佳方式是什么

我相信使用过滤器是一个不错的选择,但与过滤器和ui掩码有些混淆


谢谢。

使用过滤器确实是解决这个问题的方法。以下是两种解决方案:

使用模块 您可以使用此筛选器添加项目并格式化邮政编码:

{{981222735 | zipcode}

自己动手 以下是此过滤器的工作原理:

  • 接收输入
  • 验证它是否有5位或9位数字
  • 如果zipcode有9位数字,则返回格式化的zipcode输出
  • 保持原样,以防有5位数字
  • 例如:

    angular.module('myApp',[])
    .filter('zipcode',函数(){
    返回函数(输入){
    如果(!输入){
    返回输入;
    }
    if(input.toString().length==9){
    返回input.toString().slice(0,5)+“-”+input.toString().slice(5);
    }else if(input.toString().length==5){
    返回input.toString();
    }否则{
    返回输入;
    }
    };
    });
    
    
    5位邮政编码:{981222735 | zipcode}

    9位邮政编码:{98122 | zipcode}