2015-10-05 1 views
0

Я пытаюсь проверить поле ввода с идентификатором «p_username», если строка содержит B, их следует переустановить на «ученик». html ", и если E, то" staff.html ". Моя проблема заключается в том, что я не знаю, что такое команда для .contains. Я нашел это .value, которое находит, если поле содержит только данное письмо, оно работает. Но обычно это будет использоваться для B или E, за которым следует семизначный символ ... поэтому мне нужен скрипт, чтобы проверить, содержит ли строка CONTAINS a B или E.Проверка того, что «поле ввода» содержит определенную букву E или B ... return required page

Благодаря

<script> 
function validateUsername() { 

    if (p_username.value == "B") { 
     location.href = 'student.html'; 

    } else if (p_username.value == "E") { 

     location.href = 'staff.html'; 
    } 
} 
</script> 
+2

Вы хотите проверить, если введенное значение ** содержит ** некоторый символ не для точного значение, используйте 'indexOf' как' if (p_username.value.indexOf ("B")> -1) {' – Tushar

+0

Только заглавные или строчные буквы? – ojovirtual

+0

Пожалуйста, скажите мне, что это не считается мерой безопасности, и это просто удобство для пользователей? –

ответ

1

решаемые

Благодарности к Tushar для решают, просто и красиво, было .indexOf, но не имеют> -1, которое было решить. Просто нужен прототип. Благодаря

<script> 
function validateUsername() { 

if (p_username.value == "") 
{ 
    alert("Please do not leave the input fields blank!"); 

} else if (p_username.value.indexOf("B") > -1) 
{ 
    location.href='student.html'; 

} else if (p_username.value.indexOf("E") > -1) { 

    location.href='staff.html'; 
    } 
} 

</script> 
1

Попробуйте как этот

if(p_username.value.toLowerCase().indexOf("b")>-1){ 
    // username contains b 
} 
1

Попробуйте String.indexOf():

var val = p_username.value; 
if(0 === val.indexOf("B")) { 
    // 
} else if(0 === val.indexOf("E")) { 
    // 
} else { 
    // 
} 

String.indexOf() возвращение кулак в случае индекс 0 до n - 1, -1 если не найден.

Вы также можете попробовать ReqExp.test(), как на ваш комментарий:

B или E следуют 7 цифр символа в

var val = p_username.value; 
if(/^B\d{7}$/.test(val)) { 
    // 
} else if(/^E\d{7}$/.test(val)) { 
    // 
} else { 
    // 
} 

Здесь ^ и $ являются якорями для start и end соответственно. \d для цифр 0-9, {7} точный размер 7.

1

В основном вы должны использовать indexOf. Посмотрите ниже код и пример, который я сделал для вас:

$(document).ready(function(){ 

    $('button').on('click', function(){ 
     var myValue = $('#myInput').val(); 
     if(myValue != ''){ 
      if (myValue.indexOf('B') >= 0) 
      { 
       //location.href='student.html'; 
       alert('contains B'); 
      } 
      if (myValue.indexOf('E') >= 0) { 
       alert('contains E'); 
       //location.href='staff.html'; 
       } 
      } 
    }); 

}); 

DEMO

Я надеюсь, что это помогает.

0

Если вы говорите, B или E всегда будет первый символ, то вы затем проверить следующим образом,

function validateUsername() 
    { 
     if (p_username.value.charAt(0) == "B") 
     { 
      location.href = "student.html"; 
     } else if (p_username.value.charAt(0) == "E") 
     { 
      location.href = "staff.html"; 
     } 
    } 

 Смежные вопросы

  • Нет связанных вопросов^_^