Javascript 如何匹配';使用正则表达式是7个数字还是9个数字?
现行代码Javascript 如何匹配';使用正则表达式是7个数字还是9个数字?,javascript,regex,function,validation,passwords,Javascript,Regex,Function,Validation,Passwords,现行代码 var codePattern = /^\d{7,9}$/; 基本上我想要: 1-6位数字=否 7位=是 8位=否 9位数=是 较大值=10位数=编号 谢谢您可以这样使用它: var codePattern = /^\d{7}(?:\d{2})?$/; 它在开始时基本上匹配7位数字,然后在结束时后跟2位可选数字(?:\d{2}),从而使它能够匹配7位数字或9位数字 var codePattern = /^\d{7}(?:\d{2})?$/; 它基本上在开始时匹配7位数字,然后在结
var codePattern = /^\d{7,9}$/;
基本上我想要:
1-6位数字=否
7位=是
8位=否
9位数=是
较大值=10位数=编号
谢谢您可以这样使用它:
var codePattern = /^\d{7}(?:\d{2})?$/;
它在开始时基本上匹配7位数字,然后在结束时后跟2位可选数字
(?:\d{2})
,从而使它能够匹配7位数字或9位数字
var codePattern = /^\d{7}(?:\d{2})?$/;
它基本上在开始时匹配7位数字,然后在结束时后跟2位可选数字(?:\d{2})
,从而使它能够匹配7位数字或9位数字
有很多选项。比如说
/^\d{7}|\d{9}$/
/^\d{7}\d{2}?$/
有很多选择。比如说
/^\d{7}|\d{9}$/
/^\d{7}\d{2}?$/
应该这样做:
/^(\d{7}|\d{9})$/
应该这样做:
/^(\d{7}|\d{9})$/
使用正则表达式模式/^\d{7}(\d\d)$/
或/^[0-9]{7}[0-9]{2}?$/
使用正则表达式模式/^\d{7}(\d\d)$/
或/^[0-9]{7}[0-9]{2}$/
不可以<代码>/^\d{7}(?:\d{2})$/.test('12345678')
返回False只是好奇,为什么是非捕获组?@Ejay:是的,不需要非捕获组。只是一个我正在开发的网站。他们只希望使用长度为7或9的验证代码。不知道为什么。好吧,抱歉,我刚刚又试了一次,成功了!:)谢谢,不可能<代码>/^\d{7}(?:\d{2})$/.test('12345678')返回False只是好奇,为什么是非捕获组?@Ejay:是的,不需要非捕获组。只是一个我正在开发的网站。他们只希望使用长度为7或9的验证代码。不知道为什么。好吧,抱歉,我刚刚又试了一次,成功了!:)感谢第二个失败的是7位字符串。第二个失败的是7位字符串。