

angulerJS v1.5.8

■疑問点  
入力値のバリデーションの実現方法について

■やりたいこと  
ある文字列の中に半角数字が混在しないようにする  
混在した場合は、エラーメッセージを表示する

■現在のHTML

[code]

    <input required class="form-control" id="name" name="name" type="text" ng-model="name" value="" ng-pattern="???????/" /> 
    <div ng-show="myForm.name.$invalid && !myForm.name.$untouched && myForm.name.$error.pattern"> 
    <span class="sign" >数字が混在しています</span> 
    </div>
    
[/code]

■現状  
inputタグには、半角数字を除き、どのような文字でも入力可能とします。  
上記ではバリデーションがうまくいっていません。

どのように、半角数字の混在を検出したらよいでしょうか？


CC BY-SA 3.0
2017-05-26T23:41:14.520
35056
2017-05-29T00:22:15.180
2017-05-29T00:22:15.180
5044
23393
question
javascript angularjs
angular 半角数字検出


`ng-pattern="???????/"` を `ng-pattern="/^\D+$/"`のように変更すればいいかと思います。  
^ : 先頭から  
$ : 最後まで  
\D: 数字以外の文字  
\+ : の連続

以下例：

[code]

    <html ng-app>
    <head>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
    </head>
    <body>
    <form name="myForm" >
      <input required class="form-control" id="name" name="name" type="text" ng-model="name" value="" 
      ng-pattern="/^\D+$/" />
      <div ng-show="myForm.name.$invalid && !myForm.name.$untouched && myForm.name.$error.pattern"> 
      <span class="sign" >数字が混在しています</span> 
      </div>
    </form>
    </body>
    </html>
[/code]


CC BY-SA 3.0
2017-05-27T00:44:25.473
35058
2017-05-27T00:49:53.093
2017-05-27T00:49:53.093
5044
5044
35056
answer