Мне нужно десятичное регулярное выражение, я думаю, что это просто, но я новичок в этом - PullRequest
0 голосов
/ 18 сентября 2018

Я хочу сделать десятичное регулярное выражение. Но я не мог этого сделать. Текстовое поле займет всего 3 символа. Первый символ будет от 0 до 7 второй символ - только точка (.) и последний символ от 0 до 9 но значение не может превышать 7,0

1 Ответ

0 голосов
/ 18 сентября 2018

Вы можете найти это полезным: https://www.w3schools.com/jsref/jsref_obj_regexp.asp

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

"4.5" < 7.0 == true
"7.1" < 7.0 == false

Если вы используете Regex, вот как может выглядеть возможное решение:

  • Убедитесь, что значение является десятичным
  • Убедитесь, что значение <7.0 </li>

var pattern = /^[0-6]\.[0-9]+|7\.0|\-[0-9]+\.[0-9]+$/;

var candidates = [
	"1.1",
	"8.2",
	"9.1",
	"12.1",
	"1.9392",
	"2.1",
	"-3.8",
	"222.0",
	"-222.0",
	"1",
	"11",
	"12."
];

for (var i=0; i < candidates.length; i++){
	var result = "is '" + candidates[i] + "' a decimal and < 7.0 == ";
	if (new RegExp(pattern).test(candidates[i])){
		result += "true";
	}
	else {
		result += "false";
	}
	console.log(result);
}
...