[英]Phone number format displaying incorrectly with javascript function
Can I get a phone number formatted from 1234567891 to 123-456-7891 using Java script. 我可以使用Java脚本获取格式从1234567891到123-456-7891的电话号码吗? I have written a function below which is returning
我写了下面的函数返回
1 234-567-891.Did i miss anything below. 1 234-567-891.Did我错过了下面的任何内容。
Your suggestion is appreciated a lot. 非常感谢您的建议。
Code below is writen in angular-moment.js file for custom filters. 下面的代码写在angular-moment.js文件中,用于自定义过滤器。 Which later on I will be using in HTML.
稍后我将在HTML中使用。
.filter('phonenumber', function() {
return function (number) {
if (!number) { return ''; }
number = String(number);
var fNumber = number;
var c = (number[0] == '1') ? '1 ' : '';
number = number[0] == '1' ? number.slice(1):number;
var area = number.substring(0,3);
var front = number.substring(3, 6);
var end = number.substring(6, 10);
if (front) {
fNumber = (c + "" + area + "-" + front);
}
if (end) {
fNumber += ("-" + end);
}
return fNumber ;
};
})
Checking for first 3 numbers. 检查前三个数字。 This scenario is reproduced only when I enter first number as 1 Any guidance on how to implement this would be greatly appreciated.
仅当我将第一个数字输入为1时,才会重现这种情况。将非常感谢您提供有关如何实现此目的的任何指导。
you dont needd to expicitly check for 1 : below code should work fine : 您不需要明确检查1:以下代码应该可以正常工作:
.filter('phonenumber', function() {
return function (number) {
if (!number) { return ''; }
number = String(number);
var fNumber = number;
var area = number.substring(0,3);
var front = number.substring(3, 6);
var end = number.substring(6, 10);
if (front) {
fNumber = (area + "-" + front);
}
if (end) {
fNumber += ("-" + end);
}
return fNumber ;
};
})
Suppose this is you HTML 假设这是您的HTML
<p class="number">2124771000</p>
And this you JS 这是你的JS
$(".number").text(function(i, text) {
text = text.replace(/(\d{3})(\d{3})(\d{4})/, "$1-$2-$3");
return text;
});
If you have validations for number to be more than 9 digits , you can try below code 如果您对数字的验证超过9位,则可以尝试以下代码
angular.module("myApp", []).filter("phonenumber", function() { return function(number) { if (number) { number = number.toString(); return number.slice(0, 3) + "-" + number.slice(3, 6) + "-" + number.slice(6); } } });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <body ng-app="myApp"> {{123456789 | phonenumber}} </body>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.