? Неверное регулярное выражение

Я пытался найти, содержит ли переменная цифру внутри нее. И по какой-то причине я поставил (эксп.) «Majorpassword09», а он просто печатает ложь?

// vars

var regex = new RegExp(‘.*\d.*’)
var str = ‘Scorpio08’

// main
function reg1() { 
    if (regex.test(str)){
        console.info(‘true’);
    }else{
        console.info(‘false’);
    }
}
reg1();

Обновлено: я поставил заголовок как неправильное регулярное выражение, потому что это единственное, что я считаю неправильным.

Ваш код в настоящее время выдает Uncaught SyntaxError: Invalid or unexpected token @ JS line 3. Сначала подумайте об исправлении синтаксиса.

CertainPerformance 26.12.2020 03:37

Одинарные одинарные кавычки такие же, как в вашем коде? Если это так, то они неверны и должны быть заменены на '.

3limin4t0r 26.12.2020 03:50

Почему бы не использовать проверенное /^\d+$/.test(str)

adeneo 26.12.2020 03:58

вы должны избегать обратной косой черты при использовании формы в кавычках.

Daniel A. White 26.12.2020 03:58
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
4
77
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы, скорее всего, на Mac. Ваш код показывает, что вы используете причудливые кавычки. Как эти: ‘’. Вам нужно использовать обычные кавычки, такие как ' и ".

Вот решение вашей проблемы.

// vars

var regex = new RegExp(".*\\d.*")

var str = "Scorpio08"

// main

function reg1() { 
if (regex.test(str))
{
console.info("true");
}else{
console.info("false");
}
}

reg1();

Какой бы текстовый редактор вы ни использовали, в нем есть причудливые кавычки. Попробуйте поискать в настройках или в Google, чтобы узнать, как их отключить.

Конструктор RegExp обычно ожидает строку шаблона. Он принимает только другое регулярное выражение, начиная с ES5. Так что это должно быть либо new RegExp(".*\\d.*"), либо /.*\d.*/, потому что new RegExp(/.*\d.*/) совершенно нелогично.

3limin4t0r 26.12.2020 03:54

@3limin4t0r Тогда хорошо. Я отредактирую свой ответ.

SuperJumpBros 26.12.2020 03:54

Поскольку \ является специальным символом в контексте строки, вам придется экранировать его другим \. ".*\d.*" — буквальное .*d.*, тогда как ".*\\d.*" — буквальное .*\d.*

3limin4t0r 26.12.2020 03:59

Я пытался поместить это в jsitor, и я сделал все, что вы описали здесь, но я все еще просто получаю ошибку сценария, и все

Ezikiel 26.12.2020 04:01

@3limin4t0r Ой! Прости за все это!

SuperJumpBros 26.12.2020 04:01

@StarterScripter К сожалению, я не могу сказать почему. Он отлично работает на JSitor для меня. Может быть, вы все еще используете причудливые цитаты?

SuperJumpBros 26.12.2020 04:03

@SuperJumpBros Да, я думаю, что это что-то с моим устройством. Он просто выдает мне 2 разные ошибки сценария без данных и ничего не печатается. попробую перезапустить.

Ezikiel 26.12.2020 04:09

поскольку вы используете string для создания объекта RegExp, вам нужно использовать две обратные косые черты, чтобы правильно экранировать

var regex = new RegExp(‘.*\\d.*’)

или

var regex = /.*\d.*/

Другие вопросы по теме