Как заставить пробел в строке в javascript - PullRequest
2 голосов
/ 24 марта 2020

Я создаю функцию, чтобы проверить, имеет ли строка хороший французский формат социальных чисел

function isValidNoSecu(Tel) { return new RegExp(/[12]\s{1}\d\d\s{1}\d\d\s{1}\d\d\s{1}\d\d\d\s{1}\d\d\d\s{1}|\s{1}\d\d$/i).test(Tel); }

Строка должна иметь такую ​​форму: X XX XX XX XXX XXX | XX Первый X - это 1 или 2. Ничего другого. Мне не нужно пробел (это моя самая большая проблема). Я стараюсь \ s, или \ s {1}, или [], всегда без пробелов ... и я хочу пробел. На самом деле, лучший ответ будет только с одним символом пробела, а не с табуляцией ... тогда это не хорошо. Другие X - цифры: \ d

Я читаю много статей, постов и пробую несколько тестеров, но я не найти хорошее выражение Спасибо за вашу помощь

1 Ответ

2 голосов
/ 24 марта 2020

Используйте символ пробела для буквального совпадения с символом (пробел).

Вы также можете использовать фигурные скобки после символа, чтобы указать необходимое количество совпадений, например, \d{2} означает совпадение \d только дважды.

И, наконец, вам нужно экранировать символ | канала (используя обратную косую черту sh, например \|), потому что это специальный символ, означающий OR.

Как это:

const re = /[12] \d{2} \d{2} \d{2} \d{3} \d{3} \| \d{2}/

console.log(re.test("1 11 22 33 444 555 | 66"))
console.log(re.test("2 33 44 55 666 777 | 88"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...