2013-09-24 2 views
0

Я хочу обрезать символы с моего ввода пользователем. Что-то вроде я хочу обрезать '%, *,), (' Если пользователь дает любой из этого символа, я хочу показать его в окне поиска, но в js я хочу установить значение модели без этих ограниченных символов.Угловая директива для замены символа с пользовательского ввода

Что-то вроде:

user input 'a&b' 

I want to set this in my scope as 'ab' 

Этот вопрос (Angular.js - controller function to filter invalid chars from input does not delete chars until a valid char is entered) почти ответы делать то, что я хочу, не показывая его на пользователя
Спасибо заранее

+0

Не обрезать, вы должны заменить – Salim

+0

Вы можете использовать $ часы в вашей директиве, которая отслеживает значение нг-модели. Когда значение изменяется (пользовательский символ ввода), он будет запускать обратный вызов часов, где вы можете определить свой метод замены. –

ответ

0

Использование:..

<script> 

var user_input = "%this (is) a string*"; 

var new_string = plainString(user_input) 
alert(user_input); 

function plainString() 
{ 
    var findIt = [ '%', '*', ')', '(']; 
    for(i=0; i<findIt.length; i++) { 
     user_input = user_input.replace(findIt[i],''); 
    } 
    return; 
} 

</script> 

Или вы можете использовать

<script> 

String.prototype.myReplace = function(find, replace) { 
    var str = this; 
    for (var i = 0; i < find.length; i++) { 
     str = str.replace(find[i], replace); 
    } 
    return str; 
}; 

var user_input = '%this (is) a string*'; 
var find = ["%", "(", ")", "*"]; 
user_input = user_input.myReplace(find, ""); 
alert(user_input); 

</script>  

Выход:

this is a string 
+0

Это не угловая директива ... – sushain97

+0

Да, я спросил о "Угловой директиве" – arnold

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