Javascript.RU

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

Проверка порядка введенных символов(тип).
Все привет. Возникла проблема.
<html>
<head>
<title>ыыы </title>
<style type="text/css">
textarea {border:0px;}

</style>

<script type="text/javascript">

var b1,b2;
function get_tex() {
	var tex = prompt("Введите текст: ","a1234");
	var re = /^[a-z. ]+$/ig; 
	var ree = /^[0-9. ]+$/ig; 
	
	b1=tex.charAt(0);
	b2=tex.charAt(1);
	if ((re.test(b1))&&(ree.test(b2))) {alert("меняем на *");  
			for(var i=0,k1,k2,sum;i<tex.length;i++){
				k1=tex.charAt(i+1);//a 1 2 3 4 
				k2=tex.charAt(i+2);
				if((ree.test(k1)){document.write(k1+"<br>");}
				
				

										           }
										}
		else {alert("ни че не делаем");}}
	


	
	
</script>
<body>
<form name="pole"><h2 align="center">Дан текст. Если первый символ текста не является малой латинской буквой,
 но за начальной группой малых латинских букв не следует цифра, то также оставить текст без изменения. Иначе каждую цифру, принадлежащую группе цифр, следующей за начальной группой малых латинских букв, заменить символом "*".
 то оставить его без изменения. Если же это малая латинская буква.</h2>
Введите размерность массива:<br>


<input type="button" value="ввести слова" OnClick="get_tex()"><br>
<textarea name="ttt" rows=10 cols=40></textarea>
</form>
</body>
</html>

Данный скрипт проверяет не все числа, а через одно к примеру 1 определяет как число, а 2 уже нет.Ни как не могу разобраться что не так. Но помоему косяк где то в переменной re или ree. Подскажите пожалуйста.
Ответить с цитированием
  #2 (permalink)  
Старый 11.10.2014, 22:20
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

При чем тут числа? Вы не знаете что у вас там числа или буквы, или пунктуация, или альфа-нумерик или ... смотрите еще диапазоны юникода. То есть надо говорить "символы".

Условие задачи специально написано по дебильному чтобы вас запутать.
Ответить с цитированием
  #3 (permalink)  
Старый 12.10.2014, 07:38
Интересующийся
Отправить личное сообщение для ОмаЭль Посмотреть профиль Найти все сообщения от ОмаЭль
 
Регистрация: 11.10.2014
Сообщений: 18

Про условие полностью согласен. Но проблему это не решает.Как проверить является ли первый символ буквой латинского алфавита, а второй цифрой (чтоб работало корректно).
P.s. а про числа я говорил как частный случай, в чем собственно и проблема.
Ответить с цитированием
  #4 (permalink)  
Старый 12.10.2014, 09:36
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Судя по коду с регулярками можешь работать. Так в чем проблема?
alert(  /^[a-z][0-9]/i.test('a1')  )
alert(  /^[a-z][0-9]/i.test('aa')  )
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 12.10.2014, 11:39
Интересующийся
Отправить личное сообщение для ОмаЭль Посмотреть профиль Найти все сообщения от ОмаЭль
 
Регистрация: 11.10.2014
Сообщений: 18

Спасибо за первую подсказку можешь еще подсказать, что счас не так:
if ((re.test(b1))&&(ree.test(b2))) {alert("меняем на *");  
			for(var i=0,k1,k2,sum;i<tex.length;i++){
				k1=tex.charAt(i+1);//a 1 2 3 4 
				k2=tex.charAt(i+2);
				if(( /^[0-9]/i.test(k1))&&( /^[0-9]/i.test(k2))) { tex.replace(charAt(k1),'*'); tex.replace(charAt(k2),'*'); alert(tex);}
				
				

										           }
										}
		else {alert("ни че не делаем");}}



По какой причине не работает replace?
Ответить с цитированием
  #6 (permalink)  
Старый 12.10.2014, 16:54
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Задание написано по-дебильному, еще раз. Любое условие которое требует do nothing попросту выкидывается. Оставшееся действующее вещество таково:

Каждую цифру в тексте, принадлежащую группе цифр, следующей за начальной группой малых латинских букв, заменить символом "*".
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка введенных символов в форму titan1993 Элементы интерфейса 2 22.12.2013 16:16
проверка формы не работает в ie begelme Javascript под браузер 6 13.08.2013 01:00
Странно себя ведет простейшая проверка введенных данных в форме San4eZ Общие вопросы Javascript 7 06.10.2011 09:17
Проверка полей отправляемой формы. denisOgr jQuery 6 18.10.2010 19:40
Проверка корректности введенных значений Athlete Общие вопросы Javascript 1 25.06.2009 09:56