0
정규식을 테스트하는 작동 코드가 있습니다. 일치하는 정규식을 강조 표시하십시오. 하지만 내 문제는 테스트 할 문자열과 동일한 입력에서 결과를 강조 표시하는 것입니다. 내가 가진 그 결과 및 예상 결과를 설명하는 HTML과 JS와 두 개의 사진을 검색 할 수 있습니다 ..텍스트 입력에서 일치하는 정규식 강조 표시
HTML :
<body ng-app ng-controller="MainCtrl">
<input type="text" ng-model="regex" class="span-12 pdg-sm font-lg brd-rad-md" placeholder="Enter your regex" ng-change="applyRegex()">
<input ng-model="stringToTest" ng-change="applyRegex()" rows="6" class="spdg-sm" ng-bind-html="highlightedResults">
<pre class="pdg-sm" ng-bind-html="highlightedResults"></pre>
JS :
function MainCtrl($scope, $sce) {
$scope.stringToTest = '';
$scope.applyRegex = function()
{
$scope.results = [];
$scope.highlightedResults = '';
var regex = new RegExp('(' + $scope.regex + ')');
$scope.results = $scope.stringToTest.match();
$scope.highlightedResults = $sce.trustAsHtml($scope.stringToTest.replace(regex, '<b style="color: #FFF; background-color: green;" class="mrg-xs pdg-xs brd-rad-sm">$1</b>'));
console.log($scope.highlightedResults);
}}
고맙습니다. @Zakaria, 입력 텍스트 배경색을 변경하지 않아도됩니다. 아니면 html 파일에서 처리하겠습니다. – slama
안녕하세요 @Zakaria, 조금 다른 문제가 있습니다. 결과를 강조 표시 한 후 다른 문자를 추가하면 입력이 비어있게됩니다. 그래서 그것을 편집하여 emty에 대한 입력을 설정하지 않고 계속 입력 할 수 있습니다. – slama