Javascript 用于6位数字输入的正则表达式。每6位输入数字必须用逗号分隔
我的UI要求输入用户ID和供应商ID,我想要一个字符串验证,接受供应商ID的输入,如下所示:Javascript 用于6位数字输入的正则表达式。每6位输入数字必须用逗号分隔,javascript,java,angularjs,db2,db2-400,Javascript,Java,Angularjs,Db2,Db2 400,我的UI要求输入用户ID和供应商ID,我想要一个字符串验证,接受供应商ID的输入,如下所示: 1st scenario: 123456 2nd scenario: 123456,098765 3rd scenario: 123456,098765,345678 但不应接受以下输入: 1st scenario: Any number less than 6 digits like 123 2nd scenario: Any number more than 6 digits 1234567 3r
1st scenario: 123456
2nd scenario: 123456,098765
3rd scenario: 123456,098765,345678
但不应接受以下输入:
1st scenario: Any number less than 6 digits like 123
2nd scenario: Any number more than 6 digits 1234567
3rd scenario: Inputs with comma in the end or even at the beginning - 123456,098765,345678, or ,098765,345678
我将在以下查询中使用供应商ID的输入:
UPDATE ABC.Items
SET Crit_Limit = 'Y'
WHERE User_ID = 'userID'
AND Supplier_ID in (suppID)
变量suppID将携带来自UI Supplier_ID的输入,因此查询如下所示,例如:
UPDATE ABC.Items
SET Crit_Limit = 'Y'
WHERE User_ID = '007'
AND Supplier_ID in (123456,098765,345678)
无论如何,字段Supplier_ID的长度为6,并且必须是数字
提前谢谢 这是您正在寻找的表达式
^\d{6}(\,\d{6}){0,2}$
将regex创建为searchgroups,首先检查是否有换行符后跟6位数字,然后检查是否有
,
后跟6位数字组
['123456',
'123456,098765',
'123456,098765,345678',
“1234560987S65345678”,
'12345,098765,345678',
'123456/098765'
]
.forEach(函数(行){
if(line.toString().replace(/(^\d{6}(,\d{6})*)/gm',).length<1){
控制台日志(行“匹配”);
}否则{
console.log(第行“不匹配”);
}
});代码>此模式与您的测试用例相匹配,并且适用于任何数量的由逗号分隔的6位数字组
^\d{6}(,\d{6})*$
Java=
Javascript您尝试了什么?我尝试了这个[0-9]{6},但它只会将我限制为6位,当我输入例如123456098765时,程序会给我一个错误,因为它只满足6位输入。如何在表达式中使用逗号?([0-9]{6},)*[0-9]{6}
非常感谢Andy!这个有效!:)([0-9]{6},)*[0-9]{6}谢谢!谢谢为什么里面有一个+
?谢谢,我会试试看,这一个也不起作用,就是用提高勇气来回答,安迪,这是个错误!宁农,从我所看到的,这个正则表达式和提升Sprit提供的正则表达式都可以有效地检查模式。你能给我们展示一下你是如何使用它的吗?我在hpoo系统评估器中使用了它:)安迪的一个很好用。。谢谢大家!:)非常感谢。让我试试所有这些答案,然后再给你们大家打电话。。谢谢很抱歉,它未能满足条件..:(您在哪里执行它?如果不使用javascript,您可能需要在开始和结束时删除/。)