2015-11-11 78 views
0

我想用regEX验证电话号码。以下是我的要求。 10位数字字母/数字,其中Alpha CHAR位于第4位(不包括连字符)。例如:586R410056regEX不能以角度形式工作

NNN ANN NNNN

(NNN)ANN NNNN

NNN-ANN-NNNN

(NNN)ANN-NNNN

1NNN ANN NNNN

1(NNN)ANN NNNN

1NNN-ANN -NNNN

1(NNN)ANN-NNNN

NNN.ANN.NNNN

(NNN-ANN-NNNN)

我想出了下面的正则表达式,但它不是以角度形式工作。 正则表达式:

^[1]?\s?\(?\d{3}\)?[-.\s]?[a-zA-Z]{1}\d{2}[-.\s]?\d{4}\)?$ 
+0

为什么不考虑使用ui-mask指令..哪个会提供你想要的行为.. –

+0

首先,试试'/^1?\ s?\(?\ d {3} \)?[ 。\ s]?[a-zA-Z] \ d {2} [ - 。\ s]?\ d {4} \)?$ /'*不含'/ g'修饰符*。接下来,尝试删除'novalidate'。看看[这个plunkr](http://plnkr.co/edit/IY64HCTYeAFWWcoLLdKg)。 –

回答

1

你可以尝试以下方法:

正则表达式

/1?[\ \.\(]?[N]{3}\)?[]\ \-\.][A][N]{2}[\ \-\.][N]{4}\)?/g 

(只是[0-9]A[0-9a-zA-Z]更换N S)。

说明:

screenshot

看到https://regex101.com/r/dX1lL0/1工作示例。