js 正则表达式

/^((1(\s)|)[1-9]{3}(\s|-|)[1-9]{3}(\s|-|)[1-9]{4})$/
以下为拆解分析

/ /**正则匹配开始**/
^                       /**匹配一个输入或一行的开头**/  
(
  (
    1(\s) /**匹配1和空字符:1 **/
    | /**或啥也不匹配:**/
  )
    [1-9]{3} /**匹配1-9的数字3次:345**/
  (
    \s /**匹配空字符: **/
    |- /**或匹配减号:-**/
    | /**或啥也不匹配:**/
  )
    [1-9]{3}         /**匹配1-9的数字3次:345**/
  (
    \s /**匹配空字符: **/
    |- /**或匹配减号:-**/
    | /**或啥也不匹配:**/
  )
    [1-9]{4} /**匹配1-9的数字4次:3456**/
)
$ /**匹配一个输入或一行的结尾**/
/ /**正则匹配结束**/


注意: |的优先级要低(1(\s)|) 能匹配的1 而不匹配1 建议写法((1\s)|)

猜你喜欢

转载自ysbwsx2017.iteye.com/blog/2400330
今日推荐