Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Замена строки (https://javascript.ru/forum/dom-window/68517-zamena-stroki.html)

Sav2907 21.04.2017 12:11

Замена строки
 
Есть инпут, туда пишутся номера частей.
Задача исправить ошибки в инпуте.
К примеру:
NA108 заменить на TUR-NA108
NA-150 заменить на TUR-NA150
NG058 заменить на TUR-NG058

Dilettante_Pro 21.04.2017 12:13

Sav2907,
Какие проблемы? Что не получается?
Цитата:

Сообщение от Sav2907
К примеру:

Могут быть и другие варианты?

Sav2907 21.04.2017 12:19

Dilettante_Pro,
Незнаю как это сделать, нужно искать например букву А, и если она есть, то убрать все буквы, и заменить их на TUR-NA

Sav2907 21.04.2017 12:35

Как упростить?
<script>
$('.apl').on('blur', function(){
	var str = $('.apl').val();
		
	if(str.match(/[A]/gim)){
		a = str.replace(/[^0-9]/g,'');
		$('.res').html('TUR-NA' + a);		
	}
	if(str.match(/[G]/gim)){
		a = str.replace(/[^0-9]/g,'');
		$('.res').html('TUR-NG' + a);		
	}
	if(str.match(/[F]/gim)){
		a = str.replace(/[^0-9]/g,'');
		$('.res').html('TUR-NF' + a);		
	}
	if(str.match(/[H]/gim)){
		a = str.replace(/[^0-9]/g,'');
		$('.res').html('TUR-NH' + a);		
	}
	
});
</script>

Dilettante_Pro 21.04.2017 12:47

Sav2907,
А почему бы не искать "TUR-" ?

Dilettante_Pro 21.04.2017 12:50

Sav2907,
А чтобы наверняка исключить ошибки, вместо input лучше сделать select с допустимыми вариантами

w3schools 22.04.2017 00:52

Вариант раз https://jsfiddle.net/Politonius/27Lv010L/
Вариант два с удалением дефиса https://jsfiddle.net/Politonius/27Lv010L/1/
<form action="" method="post">
<input type="text" id="test">
</form>
 <div id="result"></div>

<script>
var input = document.getElementById('test');
var result = document.getElementById('result');

input.onkeyup =  input.oncopy = input.onpaste = input.oncut = (function() {
    return function() {
        var mytest = this.value.substr(0,4);
        var count = this.value.length;
        
        if(count > 4){
             if(mytest == "TUR-"){
                 result.innerHTML = this.value;
                 }else{
                 result.innerHTML = "TUR-" + this.value;
                 }
             }
   }
})();
</script>

Sav2907 22.04.2017 01:45

w3schools,
Спасибо, переделал так https://jsfiddle.net/27Lv010L/2/


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