Регулярное выражение для 16-битного целого числа без знака - PullRequest
1 голос
/ 20 июня 2019

Я пытался сделать регулярное выражение из 16-битного целого числа без знака (-32768 до 32767), используя ссылку из этой ссылки 32-битного целого числа .

До сих пор,Я попробовал это:

^-?([0-9]{1,5}|32[0-6]{3}|32[0-6]{2}|327[0-5][0-8])$|^(-32768)$

Но это не очень хорошо.

Пожалуйста, руководство.

1 Ответ

1 голос
/ 20 июня 2019

Попробуйте (однако использование регулярных выражений не очень хорошая идея - if лучше)

let r=/^(-?(\d{1,4}|[012]\d{4}|3[01]\d{3}|32[0123456]\d{2}|327[012345]\d{1}|3276[01234567])|-32768)$/;

// test
console.log("-32768", r.test("-32768")) ;
console.log(" -9876", r.test("-9876")) ;
console.log("  9876", r.test("9876")) ;
console.log(" 32767", r.test("32767")) ;
console.log("-32769", r.test("-32769")) ;
console.log(" 32768", r.test("32768")) ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...