Это регулярное выражение должно работать.
/^(\+91\d{8,18}|0\d{0,19})(,\+91\d{8,18}|,0\d{0,19})*$/g
\+91\d{8,18}
означает, что начинается с +91
, после этого может быть больше 8-18 цифр. Поскольку в начале уже есть 2 цифры (91
), общее количество будет 10-20.
0 \ d {0,19} имеет то же значение, что и выше.
Если вы хотите сопоставить строки типа 123456789043543,1234567890345 и т. Д., Которые не начинаются ни с +91
, ни с 0
, тогда подойдет простой /^+\d{10-20}(,\d{10-20})*$/g
.