| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Задача: заменить все символы "A" на "Я" и все ... |
| Автор: BOPOH 11.12.2003, 23:57 | ||
| Необходимо заменить все символы "A" на "Я" и все "ы" на "о" в поле <INPUT name=text> и передать данные в поле <TEXTAREA name=code>. По возможности, передача текста должна происходить при нажатии кнопки <INPUT type=button>. Внизу я написал кодировку, которая у меня имеется (не очень то и много: собственно "тело" и скрипт на передачу информации из <INPUT name=text> в <TEXTAREA name=code>). Если кто-то очень силен в программировании на Jscript'e: заменить все "пробелы" на заначение "\n" (переход на другую строку).
ПОМОГИТЕ, КТО ЧЕМ МОЖЕТ!!! |
| Автор: Nobody 12.12.2003, 19:30 |
| Используй регексы (регулярные выражения). |
| Автор: [xoodo] 12.12.2003, 20:13 | ||
А вставлять: document.getelementbyname().code.value=t; |
| Автор: BOPOH 14.12.2003, 03:30 |
| to Nobody: Напиши хотя бы пример с описанием! Я бы попробовал разобраться... to [xoodo]: А можно немного поподробнее. Естественно, в начале задаем var t. Если я вместо getelementbyname() пишу, допустим, detectform, а в теле дописываю <FORM name=detectform>, то в итоге document.getelementbyname().code.value=[object]. И что-такое "length" и "substring"? |
| Автор: Nobody 14.12.2003, 16:10 |
| var str = "Кякой-ты кривый текст, в кытырым няды зяменить чты-ты."; str = str.replace(new RegExp("ы","g"), "о"); str = str.replace(new RegExp("я","g"), "а"); alert(str); |
| Автор: Nobody 14.12.2003, 16:41 |
| И вообще, читайте документацию! http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/js56jsoriJScript.asp |
| Автор: BOPOH 14.12.2003, 19:29 |
| to Nobody: Спасибо за кодировку! Я в этом, кхе... в английском ничего не понимаю, ну совсем немного. Лучше сам буду разбираться. А что такое new RegExp("ы","g"), "о");?:?? |
| Автор: [xoodo] 14.12.2003, 21:29 |
| 1. document.getElementByName().code - обращение к элементу, у которого задан атрибут name="code". Если мы зададим name="txt", то обращаться к элементу будем document.getElementByName().txt и.т.п. 2. document.getElementByName().code.value - значение элемента. Грубо говоря, вернет в виде строки то, что записано в текстареа с именем code. Ошибка у меня была сначала... Именно это значение мы присвоим переменной t, или str, как товарищ рекомендовал: t=document.getElementByName().code.value; 3. t.length - длина строки t (см. пункт 2). Длина, напрмер, строки "синхрофазатрон" = 14. t.substring(a, b) - подстрока, или часть строки t, начиная с элемента a, длиной b элементов. Нумерация элементов начинается с нуля. |
| Автор: BOPOH 15.12.2003, 02:28 |
| to [xoodo]: Спасибо! Популярно объяснил. Но в метод г-на Nobody быстрее... сейчас не до пива, сессия на носу. Но задается такой вопрос: А если мне нужно заменить двойные кавычки (") на "<<", к примеру. Как тут поступить. И скажите, пожалуйста, как опытные програмисты новечку: Jscript = Javascript или нет! Когда закончу кодировку, напишу, зачем мне все это нужно! Еще раз спасибо, Bopo? |
| Автор: [xoodo] 15.12.2003, 18:56 | ||
| Сессия - это да. Не ты один такой... В любом из двух способов (ничейный действительно короче
Символ \ - это указание, что следующий за ним символ (в нашем случае ") следует не интерпритировать, а читать как есть. А, еще. JScript не равно JavaScript. Первый - это что-то вроде мелкософтовских развлечений очередных, а второй, который мы и обсуждаем - это разработки Нетскейпа изначально. |
| Автор: Nobody 15.12.2003, 23:21 |
| BOPOH Флаг "g" означает, что замену надо производить по всей строке, а не только первое совпадение. |
| Автор: BOPOH 16.12.2003, 21:21 |
| to NoBody & [xoodo]: Спасибо Вам огромное! Я сначала вообще-то проборал через REPLACE, но ерунда какая-то получалась. Сейчас займусь изменением источника... to All: Внимание создателям WAP-сайтов! Закрывайте тему! |