Advertisement
Guest User

Untitled

a guest
Aug 4th, 2015
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. angular.module('common')
  2. .filter('telephone', function() {
  3. 'use strict';
  4.  
  5.  
  6. /**
  7. * Clean or format a telephone number
  8. *
  9. * @param {String} number
  10. * @param {String} method
  11. * @return {String} finalNumber
  12. */
  13. return function(tel, method) {
  14.  
  15. // Return if no number was passed in
  16. if (!tel) {
  17. return '';
  18. }
  19.  
  20. // Strip all non-numeric characters
  21. var value = tel.toString().trim().replace(/\D/g, '');
  22.  
  23. // Return if no method was passed in
  24. if (!method) {
  25. return 'A method{string} is required. e.g. \'clean\' or \'format\'';
  26. }
  27.  
  28.  
  29. //
  30. // Clean a phone number
  31. if (method === 'clean') {
  32. return parseInt(value, 10);
  33. }
  34.  
  35.  
  36. //
  37. // Format a phone number
  38. if (method === 'format') {
  39.  
  40. if (value.match(/[^0-9]/)) {
  41. return tel;
  42. }
  43.  
  44. var country;
  45. var city;
  46. var number;
  47.  
  48. switch (value.length) {
  49. case 1:
  50. case 2:
  51. case 3:
  52. city = value;
  53. break;
  54.  
  55. default:
  56. city = value.slice(0, 3);
  57. number = value.slice(3);
  58. }
  59.  
  60. if (number) {
  61.  
  62. if (number.length > 3) {
  63. number = number.slice(0, 3) + '-' + number.slice(3,7);
  64. } else {
  65. number = number;
  66. }
  67.  
  68. return ('(' + city + ') ' + number).trim();
  69.  
  70. } else {
  71. return '(' + city;
  72. }
  73.  
  74. }
  75.  
  76. };
  77.  
  78. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement