Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Регулярные выражения (https://javascript.ru/forum/misc/34711-regulyarnye-vyrazheniya.html)

tai 16.01.2013 00:34

Регулярные выражения
 
Господа, пожалуйста помогите. Нужно было написать скрипт, который определяет алфавит текста заданной строки

Я сделал так:
<script language="JavaScript">							
				function numsym(obj) 
				{						
					var str=obj.textin.value 
					var array = (str.split('')), i = array.length, result = [];						
					
					while(i--){ 
						if(result.join('').search(array[i]) == '-1') { 							
							result.push(array[i]); 
						}
					}
					
					var res = result.sort(); 
					obj.rslt.value=res;	
				}				
				</script>


<form name="form1">
					Введите текст: <br />
					<textarea cols="30" rows="4" name="textin"></textarea><br />					
					<input type="button" value="Определить алфавит" onclick="numsym(form1)"><input type="reset" value="Очистить"> 
					<br /><br /><br />
					Алфавит:<br />
					<textarea cols="30" rows="4" name="rslt"></textarea>								
				</form>


Только вот если в тексте будут пробел или знаки, то вывод будет примерно таким: "а,п,,,,к,р,д"

Помогите пожалуйста подключить регулярное выражение, чтобы выводились только буквы английского и русского алфавита.

Или может уже есть какое-то готовое решение?

рони 16.01.2013 00:58

tai,
var str=obj.textin.value;
                    var reg = /[^a-zа-яё]/gim;
                    str = str.replace(reg,"");

Deff 16.01.2013 01:43

var str2 = str.replace(/[^а-яё]/gim,"");
var str3 = str2.replace(/[^a-z]/gim,"");
if(str!=str2&&str2==str3){ //русский текст
}
if(str==str2&&str2!=str3){ //английский текст
}
if(str!=str2&&str2!=str3){ //смешанный текст
}
if(str==str2&&str2==str3){ //Буквы отсутствуют, только спецсимволы, либо иной алфавит
}

рони 16.01.2013 01:54

Цитата:

Сообщение от Deff
var str2 = str.replace(/[^а-яё]|[^А-ЯЁ]/gim,"");

зачем |[^А-ЯЁ] если i ?

Deff 16.01.2013 02:22

рони,
:) Поправил

tai 16.01.2013 19:16

Спасибо всем!!!

jsbot 17.01.2013 00:19

дайте совет как правильно сформировать поиск символов '/*' для поиска комментариев все время реагирует на простой / при условии что рядом пробелы как могут быть или не быть

рони 17.01.2013 01:00

jsbot,
для поиска символа можно использовать его шестнадцатиричный код \uhhhh либо экранировать если символ служебный reg = /\/\*(.*?)\*\//g

var reg = /\/\*(.*?)\*\//g
alert("/* test */".replace(reg,"$1"))

Deff 17.01.2013 01:05

http://javascript.ru/forum/misc/3459...zakrytykh.html


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