только такие варианты подходят вида +2992924004
не подходят
++39393
++++0202020
3030030+39339
2929+02002+++292929
02020++++++++++
Делаю вот так:
value.replace(/[^+\d]/g, '').replace(/(\d)\++/g, '$1')
но при этом не удаляется плюс, если два вподряд ++
, а так такой вариант мне подходит.
function clean(str) {
return str.replace(/(?!^\+|\d)./g, "")
}
document.querySelector('input').addEventListener('input', function (e) {
document.querySelector('output').textContent = clean(e.target.value)
})
input { width: 100%; box-sizing: border-box; }
<input><output></output>
Вы можете использовать
.replace(/^(\+)|\D+/g, "$1")
См. демо регулярного выражения.
^
- начало строки(\+)
- Захватывающая подмаска №1: плюс|
- или\D+
- один и более знаков, отлчных от цифры.Если была найдена подмаска №1, её текст вставляется обратно с помощью $1
, т.е. если плюса в начале строки не было, его там и не будет.
var strs = ['+2992924004', '++39393', '++++0202020', '3030030+39339', '2929+02002+++292929', '02020++++++++++'];
for (var value of strs) {
console.log(value, "=>", value.replace(/^(\+)|\D+/g, "$1"));
}
let str = "+38 (099) 999-99-99";
alert(str.replace(/ |\-|\)|\(/g,""));
let number_str = "+38 (099) 999-99-99";
function clear_number(number)
{
let new_number = number.replace(/[\D]/g,"");
if(new_number.length != 0) new_number = "+" + new_number;
return new_number;
}
alert(clear_number(number_str));
Мне нужно создать приложение на NWJS + SQLite
Есть кнопка, как сделать, чтобы при клике, по центру экрана высвечивался блок div и при этом фон позади блока становился затемненным?
Запускаю две странички на разных экранахСтранички с одного домена, в обеих могу дописать все что понадобиться