我有一个要发送给API的Number值,我想在前端软检查该值是否是有效的";标志";然后发货。
据我所知,标志是任何数字,其中比特值以1
开头,然后后跟零个或多个0
s,或者只有0
。
在C#中,这是我发送值的枚举:
[Flags]
public enum CarColors : ushort
{
Other = 0,
Blue = 1,
Red = 1 << 1,
Black = 1 << 2,
Green = 1 << 3,
Orange = 1 << 4,
}
我目前正在将Number转换为一个以2为底的字符串,然后检查第一个字符之后的任何字符是否不是1
。
value.toString(2).indexOf('1', 1) === -1