Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Проверка строки ввода логина в форме (https://javascript.ru/forum/events/33044-proverka-stroki-vvoda-logina-v-forme.html)

assessor 08.11.2012 15:27

Проверка строки ввода логина в форме
 
Здравствуйте, уважаемые специалисты.
Помогите, чайнику.
Есть в скрипте проверки данных в форме ввода логина такая штука.
uname = document.profile_form.u__name.value;
if (uname=="System" || uname=="system"){
alert('Имя зарезервировано');
document.profile_form.u__name.focus();
return false;

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

Заранее благодарю.

cyber 08.11.2012 16:15

assessor,можно так
function find(str){
   
  return  str.search(/^([a-z|а-я])/gi) != -1;
        
   };

a_l 08.11.2012 16:46

cyber, лучше так:
return (/^([a-z|а-я])/gi).test(str);

cyber 08.11.2012 17:27

a_l, тут суть в регулярке а остальное по желанию

assessor 08.11.2012 19:41

Благодарю. Но мне нужно проверять только первый символ, чтобы была только буква. А то регистрируются с никами, которые начинаются с цифр и других символов.
Вот у меня есть значение document.profile_form.u__name.value поля u__name.
Как мне проверить валидность первого символа и выдать сообщение в случае ошибки.

if ( какое тут должно быть условие ? ){
alert('Первый символ имени должна быть буква');
document.profile_form.u__name.focus();
return false;

cyber 08.11.2012 19:57

assessor,
ну так как бы мой код и проверяет первый символ.

Маэстро 09.11.2012 17:51

Цитата:

Сообщение от assessor
Но мне нужно проверять только первый символ

Возьмите сначала первый символ:
var str='@masha';      
var c = str.substring(0,1)
//alert(c);
// теперь можно проверить 1 символ c

cyber 09.11.2012 18:05

Маэстро,и чем проверять? той же регуляркой? (лично я другого способа не знаю.)

Маэстро 09.11.2012 18:36

Цитата:

Сообщение от cyber (Сообщение 215056)
Маэстро,и чем проверять? той же регуляркой? (лично я другого способа не знаю.)

Я лишь подчеркнул мысль о первом символе.
Чем проверять - зачастую зависит от вкуса программиста. Лично я недолюбливаю регулярки. Когда их делают трехэтажными - текст становится нечитабельным (как для меня).
Вот еще вариант:
var str='пasha';      
var c = str.substring(0,1).toUpperCase();
alert(c);
var f=(((c >= 'A') && (c <= 'Z')) || ((c >= 'А') && (c <= 'Я')));
alert(f);

cyber 09.11.2012 18:39

Цитата:

Сообщение от Маэстро (Сообщение 215075)
Я лишь подчеркнул мысль о первом символе.
Чем проверять - зачастую зависит от вкуса программиста. Лично я недолюбливаю регулярки. Когда их делают трехэтажными - текст становится нечитабельным (как для меня).
Вот еще вариант:
var str='пasha';      
var c = str.substring(0,1).toUpperCase();
alert(c);
var f=(((c >= 'A') && (c <= 'Z')) || ((c >= 'А') && (c <= 'Я')));
alert(f);

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


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