项目上遇到一个需求,某个输入框输入的字符串只能输入一个冒号,思路如下,
1.输入值长度为1位时:满足 /^(:){1}$/
2.输入值为长度为多位时:又分为以下3种情况:
(a) 冒号开头(如':1234') : /^(:){1}[^:]$/
(b) 冒号在中间,且冒号两头都有值,如('12:12'): /^[^:](:){1}[^:]$/
(c) 冒号在结尾,如('12:'): /^[^:](:){1}$/
最后把四种情况用 ”|“ 连接,得到校验指定字符只出现一次的正则表达式
/^(:){1}$|^(:){1}[^:]$|^[^:](:){1}[^:]$|^[^:](:){1}$/