Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.10.2010, 14:38
Новичок на форуме
Отправить личное сообщение для boiler0303 Посмотреть профиль Найти все сообщения от boiler0303
 
Регистрация: 28.10.2010
Сообщений: 1

помогите с regexp'aми
Добрый день. нужно написать регулярное выражение на javascript.

Условия:
1. после: запятой, точки, знака восклицания если есть любая буква без пробела - ошибка.
2. если есть любой буквенной или цифровой символ перед знаком восклицания, то он должен быть один, знак восклицания.

var str = 'Hello,asd, asd';
var reg=/(\,|\.|\!|\;)+(\s)/gi
var arr=str.search(reg)
if (arr == -1) {
	document.write('Где пробел %username%??')
}


выше код написал. но проблема в том, что, если условие выполняется один раз, а дальше все равно после запятой нет пробела он не срабатывает

Последний раз редактировалось boiler0303, 28.10.2010 в 14:40. Причина: добавление
Ответить с цитированием
  #2 (permalink)  
Старый 28.10.2010, 17:10
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

boiler0303,
1.Если после знака критично наличие символа а не пробела, так и ищите символ \S а не пробел \s
2. Искать надо не пробел \S и после него более 1 восклицательного знака \S!{2,}
Для примера:
var str = 'Hello,asd, asd!!';
var reg=/(,|\.|!|;|\?)([\wА-яЁё]+)/g;
var re=/[\wА-яЁё]!{2,}/g;
var d = {
",":"запятой",
".":"точки",
"!":"восклицательного знака",
";":"точки с запятой",
"?":"вопросительного знака"}
reg.exec(str);
if(RegExp.$1) alert("Где пробел после "+d[RegExp.$1]+" перед "+RegExp.$2+" ?");
if(re.test(str)) alert("Используйте один восклицательный знак!");
Ответить с цитированием
  #3 (permalink)  
Старый 28.10.2010, 17:39
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Зачем (,|\.|!|;|\?), если можно ([,.!;?])?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прелоадер (помогите разобраться) xsfd AJAX и COMET 6 16.09.2010 02:30
Помогите! Многоуровневые вкладки! sergeeeeee Элементы интерфейса 2 02.08.2010 23:50
Помогите написать скрипт для корзины Deep Элементы интерфейса 1 19.06.2010 14:46
Помогите нубу Fongolcs Работа 34 19.05.2010 22:45