не работает регулярное выражение js

138
15 марта 2018, 11:26

Почему возвращает null?

let phone = '485462001312'
let pattern = '/^\d{3}\d{3}\d{2}\d{2}\d{2}\$/';
let test = phone.match(pattern);
if(test){
alert('ok');
}else {
alert('null');
}  
Answer 1

У вас две ошибки:

  1. В качестве regex вы присваиваете строку (не нужны там одинарные кавычки)
  2. Экранировать символ конца строки в regex не надо.

Вот ваш исправленный пример:

'485462001312'.match(/^\d{3}\d{3}\d{2}\d{2}\d{2}$/)

или его можно сократить до

'485462001312'.match(/^\d{12}$/)

RegExp Object

READ ALSO
ReactJS, создать новый элемент на странице

ReactJS, создать новый элемент на странице

Как при нажатии на кнопку (страницу уже зарендерина) создать элемент?

142
Как выделить значение в массиве

Как выделить значение в массиве

Есть вот такой массив:

147
Динамическая замена xtype

Динамическая замена xtype

Мне нужно динамически заменить пользовательский xtype на другойТ

141
Ключи в двойных квадратных скобках

Ключи в двойных квадратных скобках

Когда консолишь react synthetic event или proxy то в консоли отображается объект с какими-то непонятными ключами в двойных квадратных скобках, например

128