使用输入标记时如何保留前导和尾随空格?

时间:2013-07-19 06:49:10

标签: html angularjs

我正在玩Angular并编写一个Regex测试器。 当我输入数据时,问题是导致空白被修剪。请参见示例jsfiddle here

因此,当页面加载时,我有RegEx“^ \ d + $”。test(“123”)导致“No Match”,但是如果你在Candidate框中输入一个额外的前导或尾随空格:

  1. 从我的变量
  2. 中删除了前导和尾随空格
  3. 结果更改“匹配”
  4. 这是我的HTML:

    <div id='ng:app' class='ng-app: myApp' ng-app='myApp'>
        <div ng-controller="Controller">{{addTodo2()}}
            <form novalidate class="simple-form">Pattern:
                <input type="text" ng-model="pattern" />Candidate:
                <input type="text" ng-model="candidate" />
                <br />.{{candidate}}.
                <br>.{{candidate2}}.</form>
        </div>
    </div>
    

    以下是相关的JavaScript:

    function Controller($scope) {
        $scope.pattern = "^\\d+$";
        $scope.candidate  = " 123 ";
        $scope.candidate2 = " 123 ";
        $scope.addTodo2 = function () {
            var str = "Javascript is an interesting scripting language";
            var re = new RegExp($scope.pattern, "g");
    
            var result = re.test($scope.candidate);
            if (result) {
                return "Match22";
            } else {
                return "No Match22";
            };
        };
    
      }
    var myapp = angular.module('myApp', []);
    

1 个答案:

答案 0 :(得分:12)

更新了小提琴,将ng-trim =“false”添加到输入标签

http://jsfiddle.net/T2zuV/12/

<div id='ng:app' class='ng-app: myApp' ng-app='myApp'>
    <div ng-controller="Controller">{{addTodo2()}}
        <form novalidate class="simple-form">Pattern:
            <input type="text" ng-model="pattern" ng-trim="false"/>Candidate:
            <input type="text" ng-model="candidate" ng-trim="false"/>
            <br />.{{candidate}}.
            <br>.{{candidate2}}.</form>
    </div>
</div>
相关问题