Size: a a a

JavaScript — русскоговорящее сообщество

2020 October 28

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
Batu Karaev
так не работает ошибку выводит
ну да, там у меня скобка не там стоит
источник

a

allpeg in JavaScript — русскоговорящее сообщество
function test(phone){
   return (function(){
       var x2 = this.phone.replace(/\D/g,'').replace(/^7(\d{10})$/,'$1');
       var x = x2.match( /^(\d{0,3})(\d{0,3})(\d{0,4})$/);
       this.phone =
           (x2.length==10?'7 ':'')
           + ( !x[2] ? x[1] : '(' + x[1] + ') ' + x[2] + (x[3]? '-' + x[3] : '') );
   return this.phone;}).call({ phone:phone });
}
console.dir(
   [
   '79000000000','9000000000','7 (900) 000-0000','(900) 000-0000',
   '1234567890', '123456789', '12345678', '1234567', '123456', '12345', '1234', '123', '12', '1', ''
   ]
   .map(test)
);
->
0: "7 (900) 000-0000"
1: "7 (900) 000-0000"
2: "7 (900) 000-0000"
3: "7 (900) 000-0000"
4: "7 (123) 456-7890"
5: "(123) 456-789"
6: "(123) 456-78"
7: "(123) 456-7"
8: "(123) 456"
9: "(123) 45"
10: "(123) 4"
11: "123"
12: "12"
13: "1"
14: ""
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
allpeg
function test(phone){
   return (function(){
       var x2 = this.phone.replace(/\D/g,'').replace(/^7(\d{10})$/,'$1');
       var x = x2.match( /^(\d{0,3})(\d{0,3})(\d{0,4})$/);
       this.phone =
           (x2.length==10?'7 ':'')
           + ( !x[2] ? x[1] : '(' + x[1] + ') ' + x[2] + (x[3]? '-' + x[3] : '') );
   return this.phone;}).call({ phone:phone });
}
console.dir(
   [
   '79000000000','9000000000','7 (900) 000-0000','(900) 000-0000',
   '1234567890', '123456789', '12345678', '1234567', '123456', '12345', '1234', '123', '12', '1', ''
   ]
   .map(test)
);
->
0: "7 (900) 000-0000"
1: "7 (900) 000-0000"
2: "7 (900) 000-0000"
3: "7 (900) 000-0000"
4: "7 (123) 456-7890"
5: "(123) 456-789"
6: "(123) 456-78"
7: "(123) 456-7"
8: "(123) 456"
9: "(123) 45"
10: "(123) 4"
11: "123"
12: "12"
13: "1"
14: ""
не похоже на общепринятый формат телефонного номера
источник

a

allpeg in JavaScript — русскоговорящее сообщество
ну так я его код правлю, который видимо поддерживает стирание бэкспейсом (хотя семерка его будет ломать кмк)
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
просто надо запилить массив из 11 способов форматирования и выбирать по длинне строки
источник

BK

Batu Karaev in JavaScript — русскоговорящее сообщество
придется завести новую переменную к которой будет сначала прибавляться 7, а рядом с инпутом приписать 7 думаю так железнее
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
Batu Karaev
придется завести новую переменную к которой будет сначала прибавляться 7, а рядом с инпутом приписать 7 думаю так железнее
а если юзверь туда скопипастит цельный номер с семёркой?
источник

SM

Soltukiev Malik in JavaScript — русскоговорящее сообщество
Почему вс код добавляет точку с запятой перед анонимной функцией в цикле?

for (var i = 1; i <= 5; i++) {
 ;() => {
   setTimeout(() => {
     console.log(i)
   }, i * 1000)
 }
}
источник

А

Антон in JavaScript — русскоговорящее сообщество
Soltukiev Malik
Почему вс код добавляет точку с запятой перед анонимной функцией в цикле?

for (var i = 1; i <= 5; i++) {
 ;() => {
   setTimeout(() => {
     console.log(i)
   }, i * 1000)
 }
}
потому что ты написал бред)
источник

SM

Soltukiev Malik in JavaScript — русскоговорящее сообщество
Антон
потому что ты написал бред)
объясни
источник

SM

Soltukiev Malik in JavaScript — русскоговорящее сообщество
я взял пример из учебника
источник

SM

Soltukiev Malik in JavaScript — русскоговорящее сообщество
прям скопипастил
источник

АК

Алексей Коршунов... in JavaScript — русскоговорящее сообщество
Soltukiev Malik
Почему вс код добавляет точку с запятой перед анонимной функцией в цикле?

for (var i = 1; i <= 5; i++) {
 ;() => {
   setTimeout(() => {
     console.log(i)
   }, i * 1000)
 }
}
Ну, хз. Это большая проблема?
источник

А

Антон in JavaScript — русскоговорящее сообщество
тебе фор видишь что выдал
источник

I

Ivan in JavaScript — русскоговорящее сообщество
В чем дело?
источник

I

Ivan in JavaScript — русскоговорящее сообщество
источник

SM

Soltukiev Malik in JavaScript — русскоговорящее сообщество
Антон
тебе фор видишь что выдал
for (var i = 1; i <= 5; i++) {
 ;(() => {
   let j = i
   setTimeout(() => {
     console.log(j)
   }, j * 1000)
 })()
}
источник

SM

Soltukiev Malik in JavaScript — русскоговорящее сообщество
все равно точка с запятой, но 1 до 5 выводится
источник

SM

Soltukiev Malik in JavaScript — русскоговорящее сообщество
Ivan
кинь код useEffect
источник

А

Антон in JavaScript — русскоговорящее сообщество
Soltukiev Malik
for (var i = 1; i <= 5; i++) {
 ;(() => {
   let j = i
   setTimeout(() => {
     console.log(j)
   }, j * 1000)
 })()
}
ну теперь хоть правильно, ты вс код не настраивал? притиер может врублен?
источник