正则怎么匹配 ffffff, 000000,而不识别 fff000

2018-05-11 11:18:25javascript问题

像匹配#000000...#ffffff这几个颜色值,并且不匹配类似#fff000,#abc123,#a1b2c3...

自己写了一个,感觉有点啰嗦:

/#(1{6}|2{6}|3{6}|4{6}|5{6}|6{6}|7{6}|8{6}|9{6}|0{6}|a{6}|b{6}|c{6}|d{6}|e{6}|f{6})/ig

网友回答:

  • Ash_Shen Ash_Shen 2018-5-11 11:29 回复:

    用元字符:\1~\9

/^#([a-f\d])\1{5}$/gi

  • LanX LanX 2018-5-11 11:29 回复:
    > var regx=/#([0-9a-f])\1{5}/ig
    

undefined
> regx.test('#000000')
true
> regx.test('#000001')
false
> regx.test('#ffffff')
true
> regx.test('#ffefff')
false

说明:/#([0-9a-f])\1{5}/ 中的 \1 代表 [0-9a-f] 所匹配的字符。

  • Xeira Xeira 2018-5-11 11:30 回复:

    #([0-9a-f])\1{5}