我一直在尝试使用此link of 32 bit integer的引用来制作16位无符号整数(-32768
至32767
)的正则表达式。
到目前为止,我已经尝试过:
^-?([0-9]{1,5}|32[0-6]{3}|32[0-6]{2}|327[0-5][0-8])$|^(-32768)$
但是,它不能很好地匹配。
请指导。
答案 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")) ;