Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Текст в инпуте без учета регистра (https://javascript.ru/forum/dom-window/65265-tekst-v-inpute-bez-ucheta-registra.html)

rodiony4 09.10.2016 00:32

Текст в инпуте без учета регистра
 
Здравствуйте
Не получается сделать так, чтобы текст введенный в инпут был не зависим к регистру
В регулярном выражении есть свойство ignoreCase - флаг "i"
Как это свойство применить на практике, я толком не знаю, пожалуйста, помогите
<script type="text/javascript">
$('#go').click(function(){
    var zzz = $('#inp').val().match(/^[a-zA-Z0-9]+$/); //латиница и цифры
    var pat = RegExp(zzz, 'gi'); // без учета регистра в инпуте
	if(pat == 'test'){
        alert("В инпуте есть слово - TeSt, введенное разным регистром");
    };
});
</script>

<input type="text" value="" id="inp">
<input type="button" value="go" id="go">

Vlasenko Fedor 09.10.2016 00:49

var zzz = $('#inp').val().match(/^[a-z-0-9]+$/gi); //латиница и цифры введенное разным регистром

4 строка не правильная так как в zzz должен быть массив или null

rodiony4 09.10.2016 01:01

Poznakomlus, исправил, набираю в инпут разным регистром слово TeSt, но условие if не срабатывает
<script type="text/javascript">
$('#go').click(function(){
    var zzz = $('#inp').val().match(/^[a-z-0-9]+$/gi); //латиница и цифры введенное разным регистром
    //var pat = RegExp(zzz, 'gi'); // без учета регистра в инпуте
	if(zzz == 'test'){
        alert("В инпуте есть слово - TeSt, введенное разным регистром");
    };
});
</script>

Vlasenko Fedor 09.10.2016 01:09

Цитата:

Сообщение от Poznakomlus
в zzz должен быть массив или null

alert('TeSt'.match(/[a-z-0-9]/gi));

Aetae 09.10.2016 01:10

$('#inp').val().toLowerCase()

rodiony4 09.10.2016 01:18

Aetae, про toLowerCase я знаю, хотелось узнать о свойстве ignoreCase - флаг "i"
не могли бы вы привести пример, поправив мой код?

рони 09.10.2016 01:26

Цитата:

Сообщение от rodiony4
не могли бы вы привести пример, поправив мой код?

для этого нужно знать, что вы хотите сделать

rodiony4 09.10.2016 01:33

Цитата:

Сообщение от рони (Сообщение 431070)
для этого нужно знать, что вы хотите сделать

сделать так, чтобы текст введенный в инпут был не зависим к регистру, чтобы в дальнейшем этот текст можно проверить в условии if

рони 09.10.2016 01:45

rodiony4,
не понимаю

rodiony4 09.10.2016 01:51

Poznakomlus, Aetae, рони, спасибо. Остановился на варианте который предложил Aetae

laimas 09.10.2016 01:52

Цитата:

Сообщение от rodiony4
сделать так, чтобы текст введенный в инпут был не зависим к регистру

Это не сложно, но паттерн... Если разрешены должны быть только латинские символы и цифры, то он неверный:

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script> 
$(function() {
    $('input').on('input', function() {
        $('div').text(this.value.match(/^[a-z\d]+$/i) ? 'Yes' : 'No')  
    })
});
</script>     
</head> 
<body>
<input />
<div></div>
</body> 
</html>

рони 09.10.2016 01:57

rodiony4,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script>
$(function() {

$('#go').click(function(){
    var val = $('#inp').val();
    var word = 'test';
    var pat = RegExp(word, 'gi'); // без учета регистра в инпуте
  if(pat.test(val) ){
        alert("В инпуте есть слово - TeSt, введенное разным регистром");
    };
});


});
  </script>
</head>

<body>

<input type="text" value="" id="inp">


<input type="button" value="go" id="go">


</body>
</html>

rodiony4 09.10.2016 02:06

laimas, рони, еще раз большое спасибо, все доходчиво разжевали


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