Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Регулярка для имени латинскими либо кирилицей
westside_90  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 31
Пользователь №: 31483
На форуме: 4 года, 9 месяцев, 14 дней
Карма:




Извиняюсь, скорее всего посторюсь, игрался валидацией формы, написал регулярку, чтобы пропускала имена написаные либо кирилицей либо латинскими буквами и обязательно с первой заглавной. Вот что вышло:

$data = array(
'0' => 'adadasfs',
'1' => 'Rpdddlad',
'2' => 'gTlkEf',
'3' => '4gegdgr',
'4' => 'Rftbg543gs',
'5' => 'rt',
'6' => '56',
'7' => 'Апрнек',
'8' => 'dgввпв',
'9' => 'Кdgdtав',
);


for ($i = 0; $i <= 9; $i++) {
if (preg_match('/^([A-Z]{1})([a-z])+|([А-ЯЁ]{1})([а-яё])+$/',$data[$i])) echo $data[$i]."\n";
}


в результате: Rpdddlad Rftbg543gs Апрнек

если беру только первую часть: '/^([A-Z]{1})([a-z])+$/'
результат: Rpdddlad

только вторую:'/^[А-ЯЁ]{1})([а-яё])+$/'
результат: Апрнек


Итого 2 вопроса:
1). А почему при обьединении этих масок проскакивает ещё и Rftbg543gs?
2). Ну и подскажите как проверить лучше на наличие лишь одного слова?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Winston  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 9509
Пользователь №: 18161
На форуме: 7 лет, 5 месяцев, 9 дней
Карма: 552




if (preg_match('/^(?:[A-Z][a-z]+|[А-ЯЁ][а-яё]+)$/u',$data[$i])) echo $data[$i]."\n";

Для юникода нужно мод. u использовать
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
westside_90  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 31
Пользователь №: 31483
На форуме: 4 года, 9 месяцев, 14 дней
Карма:




допустим для юникода прокатит, а если у меня всё под CP1251?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Winston  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 9509
Пользователь №: 18161
На форуме: 7 лет, 5 месяцев, 9 дней
Карма: 552




Значит убрать u
PMСайт пользователя
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
westside_90  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 31
Пользователь №: 31483
На форуме: 4 года, 9 месяцев, 14 дней
Карма:




ну собственно так и сделал, всё получилось, огромное спасибо)
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8733
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев
Карма: 591




'/^([A-Z]{1}[a-z]+|[А-ЯЁ]{1}[а-яё]+)$/u'
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
westside_90  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 31
Пользователь №: 31483
На форуме: 4 года, 9 месяцев, 14 дней
Карма:




к сожалению для валидации поля в Drupal 7 не подошло... латинские имена пускает, кирилицу нет, на модификатор u говорит:

preg_match() [function.preg-match]: Compilation failed: invalid UTF-8 string at offset
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8733
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев
Карма: 591




westside_90
похоже кодировка, в которой сохранен файл, не совпадает с кодировкой страницы (входных данных)
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
westside_90  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 31
Пользователь №: 31483
На форуме: 4 года, 9 месяцев, 14 дней
Карма:




ну это врятли, сраница создана модулем (хук_меню), кодировку не менял, даже незнаю как задать именно UTF-8 для страницы, но сомневаюсь что проблема в этом

Это сообщение отредактировал westside_90 - 17.08.2012 - 17:21
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8733
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев
Карма: 591




Цитата (westside_90 @ 17.08.2012 - 17:13)
ну это врятли, сраница создана модулем (хук_меню)

То есть ты даже не знаешь, в какой кодировке у тебя файл, но уверен что в этом проблемы быть не может biggrin.gif
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
westside_90  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 31
Пользователь №: 31483
На форуме: 4 года, 9 месяцев, 14 дней
Карма:




какой файл? нету файла, есть страница, потому и говорю, что проблема не в кодировке
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8733
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев
Карма: 591




Цитата (westside_90 @ 17.08.2012 - 17:22)
какой файл? нету файла, есть страница, потому и говорю, что проблема не в кодировке


Ну да, а регулярка у тебя где? В воздухе? smile.gif
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
westside_90  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 31
Пользователь №: 31483
На форуме: 4 года, 9 месяцев, 14 дней
Карма:




Признаю, проглядел, модуль был в ANSI сохранён, перекодировал, помогло, респект за настойчивойсть, а то я как-то сразу это отбросил).

Тогда вариант Winston'a идеален)
А скипт тестировал под CP1251, нужно как-то найти общий знаменатель)))

Это сообщение отредактировал westside_90 - 17.08.2012 - 17:46
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса