RegEx для проверки CSV + jQuery - PullRequest
0 голосов
/ 22 апреля 2009

Используя плагин проверки jQuery, но он не имеет проверки CSV. Я сделал дополнительную проверку для этого, но не могу получить право RegEx.

Вот что у меня есть:

jQuery.validator.addMethod("csv", function(value, element) {
  return this.optional(element) || /([\w.$]+?(,[\w.]+)+)/.test(value);
}, "Must be comma separated if entering multiple values: value1,value2");

Есть мысли о RegEx?

([\w.$]+?(,[\w.]+)+)

Я пытаюсь сделать так, чтобы пользователь ввел значение, которое может быть одним или несколькими значениями в формате CSV.

Пример 1:

value1

Пример 2:

значение1, значение2 и т. Д. ... без ограничений

Ответы [ 2 ]

3 голосов
/ 22 апреля 2009

Основываясь на примере Чада, просто переключите [^,] на \w, если вы хотите использовать только слова. Если вы действительно хотите только буквы и цифры, вам нужно что-то вроде [a-z0-9], так как \w включает символ подчеркивания.

На основании вашего комментария посмотрите, если

/^([a-z0-9])+(,[a-z0-9]+)*$/

делает свое дело.

0 голосов
/ 22 апреля 2009

Может быть, я не совсем понимаю, что вам нужно, но кажется, что вы можете захватить все значения с помощью этого регулярного выражения:

/([^,]+),?/

Это позволит использовать пробелы и специальные символы в значениях, я не уверен, хотите ли вы этого или нет, поскольку ваша попытка, казалось, пыталась разрешить только символы слова.

Если вы просто пытаетесь проверить, правильно ли они ввели что-то или нет, я не уверен, что вы хотели бы считать «недействительным». Мне кажется, что почти все будет в силе. Если у него нет запятых, это одно значение. Если это так, это несколько значений. Может быть, если вы дадите более подробную информацию о том, какие данные вы ожидаете, я смогу написать лучшее проверяющее выражение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...