![](/img/trans.png)
[英]How to use input mask in Javascript for Mac ID & Phone Number
[英]Mask input the phone number JavaScript
我需要开发一种输入数字的模式,必须以数字2开头并且仍然有6位数字,或者以“(012)2”和6位数字开头,否则为我在数字上输入的“ 290-53-21”数字和起始数字2,并在破折号(-)上,但是我不能在“(012)”处怎么写呢? 我的代码:
function checkNumber(str){
if(!str.length)
alert("error");
var tmp = new RegExp("(2?|\([032]{3}\)?)[0-9-]{6,9}");
str = str.replace(tmp, "");
if(str != "")
alert("error");
}
这似乎可以解决问题:
^(((\(012\))\d|2)\d{6}|2\d{2}(-\d{2}){2})$
就像这样:
^( x | y )$
((\\(012\\))\\d|2)\\d{6}
,这将匹配(012)d或2与((\\(012\\))\\d|2)
和6位与\\d{6}
2\\d{2}(-\\d{2}){2}
,对于2
后面跟2个数字\\d{2}
,然后是两次-dd (-\\d{2}){2}
var t = /^(?:\(012\))?2(?:\d{6}|\d{2}(?:-\d{2}){2})$/
t.test(2123456); // true
t.test('212-31-23'); // true
t.test('(012)212-31-23'); // true
t.test('(012)2123123'); // true
t.test('(012)212-34-56'); // true
t.test('((012)2123456245-11-11'); // false
运作方式如下:
/ ^ -表示开始
(?:( 012))? -接受(012)或不接受
2-首字母2
(?:A | B) -接受以下6位数字:“ aaaaaa”或“ aa-aa-aa”
其中A = \\ d {6}
并且B = \\ d {2}(?:-\\ d {2}){2}
希望有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.