正则表达式为16位无符号整数

时间:2019-06-20 12:25:58

标签: javascript angularjs regex

我一直在尝试使用此link of 32 bit integer的引用来制作16位无符号整数(-3276832767)的正则表达式。

到目前为止,我已经尝试过:

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

但是,它不能很好地匹配。

请指导。

1 个答案:

答案 0 :(得分:1)

尝试(但是使用regexp不是一个好主意-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")) ;