Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Написать функцию, которая в качестве параметов принимает логическое выражение (https://javascript.ru/forum/misc/66479-napisat-funkciyu-kotoraya-v-kachestve-parametov-prinimaet-logicheskoe-vyrazhenie.html)

JaRED 17.12.2016 17:01

Написать функцию, которая в качестве параметов принимает логическое выражение
 
Необходимо написать функцию, которая принимает логическое выражение, анализирует строку, с помощью этого выражения и возвращает результат, истина или ложь

Вот так:
'some-string'.validate('!empty') === true
'some-string'.validate('length>30') === false
'some-string'.validate('!length<=10') === true
'some-string'.validate('length==3') === false
'some-string'.validate(/^.*-s/i) === true

JaRED 17.12.2016 17:29

Сама функция, ее код? Как она должна обрабатывать входной параметр?

JaRED 17.12.2016 17:37

Имел бы представление как это написать, не обращался бы сюда

JaRED 17.12.2016 18:12

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

Rise 17.12.2016 18:56

JaRED,
String.prototype.validate = function(expression) {
	var boolean;
	if (expression instanceof RegExp)
		boolean = expression.test(this);
	return boolean;
};
alert('some-string'.validate(/^.*-s/i));

JaRED 17.12.2016 19:27

Благодарю, попробую разобраться

JaRED 18.12.2016 10:09

Если кому-то интересно как я это сделал
Функция eval(code) позволяет выполнить код, переданный ей в виде строки.
Пример:
var a = 2;
eval('alert(a)');


Часовой пояс GMT +3, время: 14:45.