楼主:
ZooseWu (N5)
2023-10-24 11:42:16※ 引述《ZooseWu (动物园 公告)》之铭言:
: 所以把数字转成binary后用正规表达式去检验就好了
: return /^1(00)*$/.exec(n.toString(2)) !== null
推 sustainer123: 问一下正规表达式那行 1(00)*$
正规表达式最简单就是找特定字串
基本上任何的字串都可以用正规表达式判断
判断是不是手机号码、信箱、密码、网址那些的
例如/123/就是找含有123的字串
1234 // O
0123 // O
1203 // X
然后^代表开头 $代表结尾
/^123/ 代表开头123
/123$/ 代表123结尾
/^123$/ 代表开头接123后街结尾
*代表前一个字符出现0次或以上
/^123*$/ 就是找开头12然后接特定个3后结尾
12 // O
1243 // X
123 // O
123333333 // O
1233334 // X
如果我们想要以两个一组为单位出现
所以用括号包起来
/^1(23)*$/
1 // O
12323 // O
123234 // X
1223 // X
这样/^1(00)*$/应该就能看懂了
剩下的规则网络查一下都有写
也有网站可以直接测试