Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проверка строки на наличие двух запятых (https://javascript.ru/forum/misc/44621-proverka-stroki-na-nalichie-dvukh-zapyatykh.html)

Dronch 27.01.2014 00:47

Проверка строки на наличие двух запятых
 
Нужно сделать проверку строки в input на наличие двух запятых в произвольных местах, главное чтоб они присутствовали. Если две запятые присутствую, то корректно.

рони 27.01.2014 00:53

Dronch,
var reg = /(,).*\1/;
         alert(reg.test(',,'))

danik.js 27.01.2014 02:23

Решение без регулярок:
function check(string) {
    var firstIndex = string.indexOf(',');
    return firstIndex > -1 && string.indexOf(',', firstIndex + 1) > -1;
}


Хотя регулярка тут больше подходит.

рони 27.01.2014 02:32

:victory:
alert(',,'.split(',').length > 2);

Dronch 08.02.2014 13:22

Спасибо за ответы!
Как сделать условие: если в строке "string" не присутствуют ровно две запятые, то "alert" ?

Яростный Меч 08.02.2014 14:17

if (!/^[^,]*,[^,]*,[^,]*$/.test(str)) { alert(); }

Dronch 08.02.2014 14:32

Цитата:

Сообщение от Яростный Меч (Сообщение 296660)
if (!/^[^,]*,[^,]*,[^,]*$/.test(str)) { alert(); }

Работает. Спасибо!

Dronch 28.02.2014 19:00

Подскажите, а как сделать проверку строки в input на наличие одной или более запятых, в произвольных местах. Т.е. если в строке нет запятых то делаем alert.
Пробовал такое выражение:

if (!/^[^,]*,[^,]*$/.test(str))
	{ 
		alert ("alert");
		return false;
	}


Но чего то не работает.

ruslan_mart 28.02.2014 19:56

Проверка на наличие запятой (5 вариантов).

if(str.indexOf(',') != -1) {
   //...
}


if(str.indexOf(',') + 1) {
   //...
}


if(str.indexOf(',')++) {
   //...
}


if(~str.indexOf(',')) {
   //...
}


if(str.split(',')[1]) {
   //...
}

Zuenf 28.02.2014 19:57

Цитата:

Т.е. если в строке нет запятых то делаем alert.
str = "test ok da";
if(str.indexOf(',') == -1){
alert('нет запятых');
}


Часовой пояс GMT +3, время: 16:57.