加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 如何使用ng-pattern

发布时间:2020-12-14 05:59:52 所属栏目:百科 来源:网络整理
导读:我有一个简单的文本输入,我只想允许浮点数和整数(注意:玉) input.form-control(type="text",ng-model='usd',ng-pattern="nums",ng-change='convert_to_btc()',placeholder="USD") 然而它不起作用,我总是可以在输入中插入任何字符(我是否需要做更多才能显示
我有一个简单的文本输入,我只想允许浮点数和整数(注意:玉)

input.form-control(type="text",ng-model='usd',ng-pattern="nums",ng-change='convert_to_btc()',placeholder="USD")

然而它不起作用,我总是可以在输入中插入任何字符(我是否需要做更多才能显示某些内容?例如,如果它不正确则需要红色边框?或者应该只是那些字符甚至无法输入?)
模式是一个正则表达式,因此不是一个字符串,所以应该没问题???

这是控制器:

app.controller("AppCtrl",function AppCtrl($scope,$http,$interval ) {
    //lots of other stuff
    $scope.nums = /^-?d+((.|,)d+)?$/; //note no string,it's a  regex
}

这是生成的HTML.这可能是问题吗?生成的HTML实际上有一个字符串,而不是正则表达式!?

<input type="text" ng-model="usd" ng-pattern="/^-?d+((.|,)d+)?$/" ng-change="convert_to_btc()" placeholder="USD" class="form-control ng-dirty ng-valid-parse ng-touched ng-invalid ng-invalid-pattern">

解决方法

我希望这是你想要做的.

请看下面的链接

http://plnkr.co/edit/BGzLbQHy0ZtHYmom8xA3

<!DOCTYPE html>
<html ng-app="">

<head>
 <script data-require="angular.js@1.3.x" src="https://code.angularjs.org/1.3.13/angular.js" data-semver="1.3.13">      
 </script>
  <style>
    .ng-invalid-pattern {
      border:1px solid #f00;
    }
  </style>
</head>

<body>
  <p>Hello</p>

  <form name='myform'>      
    <input type="text" name='ip' ng-model="usd" ng-pattern="/^-?d+((.|,)d+)?$/" 
  ng-change="convert_to_btc()" placeholder="USD"/>
    <p ng-show='myform.ip.$invalid'>Error</p>
  </form>


  </body>

</html>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读