| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Регулярные выражения |
| Автор: kelt 17.10.2005, 10:57 | ||||
Всем привет. Не подскажите как сделать, у меня в скрипте есть массив, определений типа
, мне надо чтобы можно было использовать как:
Как это замутить, а то у меня скрипт доходит до этой строчки, и выкидывает функцию. |
| Автор: Sardar 17.10.2005, 15:26 |
| Всё потому что под именем RegExp есть встроенная функция-конструктор регулярного выражения. Переопределить подобные "нативные" функции(Array, Object, Function etc) нельзя. Дай переменной другое имя. Во вторых test ты вызываешь у массива, а он такого метода естественно не имеет. Вопрос на встречу: чем руководствовался когда писал код? Какова конкретно задача? |
| Автор: sharq 17.10.2005, 15:37 | ||
kelt
Все работает. |
| Автор: kelt 18.10.2005, 06:22 |
| Что касается чем руководствовался, да просто надо было оптимизировать код вот и решил, сделать через массив. Но это уже не важно я код написал, и он работает. У меня другой вопрос, не подкините пример масссива который проверяет слово введено с помощью русских букв, и с помощью латинского алфавита. Заранее спасибо. |
| Автор: GIK 18.10.2005, 10:11 |
| А зачем тебе массив для проверки слова? Объясни подробнее, что ты хочеш? |
| Автор: kelt 18.10.2005, 10:39 |
| мне надо проверить введены ли слово на русском языке, а для другова на английском, вот мне и надо написать регулярное выражение. |
| Автор: GIK 18.10.2005, 12:38 | ||||
Вот набросал немного, если это то что тебе надо.
Это проверка на наличие английских букв. С рускими то же самое, (если чесно не помню символ отыскивающий русские буквы) |
| Автор: kelt 18.10.2005, 13:24 |
| А что целиком все слово нельзя проверить? типа с помощью /\w+/.test(document.forms[0].element.value) ничего нет? |
| Автор: sharq 18.10.2005, 14:08 |
| Для english /[A-Za-z]+/ или чуть шире /\w+/ Для russian /[А-Яа-я]+/. |
| Автор: kelt 18.10.2005, 14:46 |
| При таком коде он все равно прорускает и русские буквы и цыфры. |
| Автор: Sardar 19.10.2005, 01:02 |
| Всё верно, задавать нужно русские буквы как юникодовские мнемоники \uHHHH Узнать их можно простым кодом alert("Первая буква".charCodeAt(0).toString(16)); выдаст шестнадцатиричный код буквы 'П'. При этом мы точно должны знать что видим не каракули, т.е. кодировка страницы верная. JS работает в юникоде, потому код выдаст в юникоде. Помним что в юникоде буква Ё находиться отдельно |
| Автор: Aliance 19.10.2005, 23:28 | ||
Кстати, как где-то вычитал, в Мозилле это будет работать не так, как ожидается. |
| Автор: Aliance 20.10.2005, 15:41 | ||
Ага, вот, нашел:
|
| Автор: sharq 20.10.2005, 20:27 |
| Возможно, это и так, поэтому нужно явно задавать шаблон символов, т.к. \w содержит и буквы, и числа, и _. |