Problema com Javascript

Não sei se esse tópico se encaixa na catgoria, por não ser JAVA e sim Javascript, mas se trata de Desenvolvimento Web, então acredito que alguém possa me ajudar.

Seguinte:

Preciso validar a informação contida num campo de um form. É um textarea na verdade.
O usuário irá digitar ali uma lista de valores, tipo assim: 100,101,102,526,4528885,12,1

Essa lista conterá apenas números separados por vírgulas, porém o usuário pode digitar somente um valor, não necessitando da vírgula.

O que não estou conseguindo implementar é um script para validar essa sequencia que pode ser

numero

ou

numero virgula numero virgula numero …

Pesquisando na web até encontrei uma expressão regular: /^[0-9]+(, [0-9]+)*/
Porém ela valida somente os caracteres e não a sintaxe.

Se for informado 12,34 ou 34, ela aceita como válido.

Alguém sabe alguma forma pra fazer isso?

Obrigado.

Fala jks1903.

Existem abordagens melhores para lidar com listas de valores. Jogar tudo em um texto field é meio porco, mas vamos lá. Acho que a função javascript split() funcionaria bem pra resolver o seu problema.

Código:

<html>
   <body>
      <script type="text/javascript">
         var str ="101,102,103,104,105";
         var list = str.split(",");
         document.write(str + "<br />");
         document.write(list + "<br />");
         document.write(list[0] + "<br />");
         document.write(list[1] + "<br />");
         document.write(list[2] + "<br />");
         document.write(list[3] + "<br />");
         document.write(list[4] + "<br />");
      </script>
   </body>
</html>

Saída:

101,102,103,104,105
101,102,103,104,105
101
102
103
104
105

Espero que te ajude.

Abs.

olá,

Concordo com o Guachala, mas como não sei a necessidade exata…

Sua ER pode ser melhorada para validar corretamente. Tente: ([0-9]+(,[0-9])?)+

[]'s

Cara, acho que juntando a expressão regular com essa idéia aí eu vou conseguir fazer.
No caso você postou um exemplo com uma lista fixa. Mas no meu caso será o usuário que irá digitar esses valores no textfield, logo não sei quantos valores ele pode informar.

Você pode me mostrar um exemplo com uma lista dinâmica?

Obrigado.

Usando o split(",") você cria um array de n posições, tantas quantas forem o número de elementos separados por vírgulas. Se o array tiver 0 posições, possui apenas 1 número, se tiver mais, você pode validar cada posição, relativa ao tamanho, se ele for diferente de 0, pode aceitar, se for 0, está vazio (,).