需求:输入框输入的内容第一个字母大写,指定位置的字符大写,指定的字符大写。
html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" name="viewport" content="width=device-width, initial-scale=1.0">
<title>angular gtest</title>
<script src="https://cdn.staticfile.org/angular.js/1.4.6/angular.min.js"></script>
</head>
<body ng-app="myApp">
<div ng-controller="myController">
<p>
<input type="text" ng-model="dirName">
result:{{dirName | dirFilter:3:'m'}}
</p>
</div>
</body>
<script type="text/javascript">
var myApp = angular.module("myApp",[]);
//自定义过滤器
myApp.filter('dirFilter',function(){
return function(input,index,ch){
input = input ||'';
var output ='';
var cusindex = index || -1;
var cusch= ch||'';
for(var i =0;i< input.length;i++){
//首字母大写,或者指定index位置的字母大写
if(i ===0 ||i===cusindex){
output+= input[i].toUpperCase();
}else{
//指定的字母大写
if(cusch !='' && input[i] ===cusch){
output+= input[i].toUpperCase();
}else{
output += input[i];
}
}
}
return output;
}
});
</script>
</html>
执行效果
网友评论