Экранировать символ в регулярке

238
13 октября 2021, 14:00

Всем привет.

Есть регулярное выражение ^.*[^a-zA-Z]{2,}.*$ В Chrome, когда ставлю символ [ падает ошибка. Нужно как-то его экранировать. В нете нашёл вот такое выражение \[. Но оно не работает или может я не в том месте вставлял.

Делаю вот так для input minlength="10" pattern="^.*[^a-zA-Z]{2,}.*$"

Подскажите пожалуйста)

Answer 1

Тестил в: ff, safari, chrome, edge - работает везде

$('input').change(function(e){ 
    let regExp = e.target.attributes.pattern.value, 
  	v = e.target.value.match(regExp); 
    v ? alert('regExp PASSED') : alert('regExp FAILED'); 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 
<input type="text" minlength="10" pattern="^.*[[][[^a-zA-Z]{2,}.*$">

regex101 test

Answer 2

Попробуйте поставить двойной слэш. \ А вообще конечно все у вас должно работать - https://developer.mozilla.org/ru/docs/Web/JavaScript/Guide/Regular_Expressions.

Проверти вообще правильность регулярного выражение в каком нибудь online ресурсе.

READ ALSO
Управление SVG подключенного через img

Управление SVG подключенного через img

Можно ли, с помощью JS, как-то управлять стилями, атрибутами svg, который подключен через тег img ?

136
Создание кнопок [закрыт]

Создание кнопок [закрыт]

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском

69
React не видит значение

React не видит значение

Я подключил к своему коду CRA(create-react-app), что бы разбить приложение на модули, но за ними пошли первые проблемыСегодня хочу её решить , есть код...

165
Что лучше new Map() или Object.create(null)?

Что лучше new Map() или Object.create(null)?

Понятно, что в общем случае new Map() гибче, поскольку позволяет различать числовые и строковые ключи, а также использовать ключи любых типов,...

191