【问题标题】:angularJS - how to validate if number is in stringangularJS - 如何验证数字是否在字符串中
【发布时间】:2018-01-03 14:07:56
【问题描述】:

我有一些用于姓名、名字、城市等的输入字段(文本)。 现在我想验证该值是否仅包含字符(a-z,A-Z)。如果该值为“val1”,则该函数应返回错误。

我不知道该怎么做,有人可以帮助我吗?

【问题讨论】:

  • 嗨,你有没有试过任何代码来验证这个??
  • 您可以使用ng-pattern检查表单是否有效。
  • 为什么?如果某人的姓名或城市包含连字符、撇号、Unicode 字符(如é)或汉字等怎么办?
  • @Aleksey Soloveyyes 我尝试了“ng-pattern”,但不知何故它不起作用
  • @ctwheels 我只是不想让名字中出现数字

标签: angularjs regex validation angularjs-directive


【解决方案1】:

您的问题含糊不清,没有您自己的代码可以向我们展示您已经尝试过的内容。请下次在此处发布之前尝试自行解决您的问题。尝试在下面的代码上构建。我相信你正在寻找这样的东西:

<div ng-controller='ctrl'>
   <input type='text' ng-model='myInput' ng-change="validate()>
</div>

module.controller('ctrl',['$scope', function ($scope) {
    $scope.validate= function() {
        return /^[a-zA-Z]+$/.test($scope.myInput);
    }
}]);

【讨论】:

  • 我已经尝试了各种尝试,但没有任何努力..现在以您的示例为例..我如何将 var 传递给“validate()”?
  • 您可以从 $scope 访问输入值。 $scope.form_fname
  • 是的,但我想将各种值传递给该函数.. 像´ng-change="validate(form_fname)´
  • 您可以将 form_fname 作为字符串传递,例如 validate('form_fname') 然后像这样使用它 $scope.validate= function(name) { return /^[a-zA-Z]+$ /.test($scope[name]); }
  • 非常感谢兄弟 ;) .. 你帮了我很多 :))
【解决方案2】:

只需将 ng-pattern="/^[a-zA-Z]*$/" 添加到输入元素。

【讨论】:

    猜你喜欢
    • 2017-11-27
    • 1970-01-01
    • 1970-01-01
    • 2021-05-04
    • 1970-01-01
    • 1970-01-01
    • 2017-06-10
    • 2020-05-18
    • 1970-01-01
    相关资源
    最近更新 更多