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.
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.
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?
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 (,).