JavaScript удаляет пробелы, код страны и начальный ноль с контактного номера - PullRequest
0 голосов
/ 29 октября 2018

У меня есть список контактов, и мне нужно удалить код страны (+91), пробелы между числом и нулем (префикс с нулем) из номера мобильного телефона. И он должен содержать только 10 цифр.

Я пытался использовать Regex следующим образом, но он удалял только пробелы из числа.

var value = "+91 99 16 489165";
var mobile = '';
if (value.slice(0,1) == '+' || value.slice(0,1) == '0') {
    mobile = value.replace(/[^a-zA-Z0-9+]/g, "");
} else {
    mobile = value.replace(/[^a-zA-Z0-9]/g, "");
}

console.log(mobile);

Ответы [ 4 ]

0 голосов
/ 29 октября 2018

Надеюсь, это поможет:

var value = "+91 99 16 489165";
var mobile = "";

//First remove all spaces:
value = value.replace(/\s/g, '');


// If there is a countrycode, this IF will remove it..
if(value.startsWith("+")){
  var temp = value.substring(3, value.length);
  mobile = "0"+temp;
  
  //Mobile number:
  console.log(mobile);
}


// If there is no countrycode, only remove spaces
else{
  mobile = value;
  
  //Mobile number:
  console.log(mobile);
}
0 голосов
/ 29 октября 2018
var value="+91 99 16 489165";
// Remove all spaces
var mobile = value.replace(/ /g,'');

// If string starts with +, drop first 3 characters
if(value.slice(0,1)=='+'){
       mobile = mobile.substring(3)
    }

// If string starts with 0, drop first 4 characters
if(value.slice(0,1)=='0'){
       mobile = mobile.substring(4)
    }

console.log(mobile);
0 голосов
/ 29 октября 2018

Вы можете использовать string.substr, если точно знаете, что есть код страны после "+" или "0".

var value="+91 99 16 489165";
var mobile = '';
if(value.charAt(0) == '+' || value.charAt(0)=='0'){
    mobile = value.replace(/[^a-zA-Z0-9+]/g, "").substr(3);
}
else {
    mobile = value.replace(/[^a-zA-Z0-9]/g, "");
}
0 голосов
/ 29 октября 2018
var value = "+91 99 16 489165";
var number = value.replace(/\D/g, '').slice(-10);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...