2016-09-07 2 views
1

Мне нужно проверить, содержит ли строка цифры, «.» или «_» или «-». Но JSLint показывает ниже ошибки:jslint показывает Unescaped '-', но мое регулярное выражение является правильным

Lint at line 63160 character 53: Unescaped '-'

Ниже мой код.

+0

Это хорошая идея, чтобы избежать дефиса в любом месте внутри класса символов, чтобы убедиться, что он сохраняет значение буквального дефиса после изменения шаблона, но, безусловно, это выглядит как хороший шаблон. –

+0

Правильно или неправильно, jslint, вероятно, хочет, чтобы вы все равно избежали его. –

+1

Ну регулярное выражение правильно. Вы также указали правильный код. JSLint, вероятно, просто не смотрит на контекст вокруг, чтобы это знать. Но, возможно, даже если это так, это хорошая идея избежать этого - представьте, если у вас есть регулярное выражение для '[0-]' для буквально нуля и тире, а затем вы добавляете буква 9, но оно превращается в '[0-9] 'который является диапазоном. Это была бы неосторожная ошибка, которая, я думаю, является тем, что JSLint хочет предотвратить – vlaz

ответ

1

Просто прочитайте документы jslint и заработайте! Также есть ошибка сообщается в jshint here

Ниже затруднительного положения

if(value.match(/^[0-9\-]+$/i)) 

Спасибо за помощь.

Смежные вопросы