2016-12-13 11 views
0

助けが必要です。私はアルファ数値を取らず、Angular.jsを使ってnumbers,+,-,.を取るべきである1つのテキストフィールドを持っています。私は以下のコードを説明しています。このフィールドは-122.32379000000003のような値を有しているAngular.jsを使ってngパターンで+と - をつける方法

<div ng-class="{ 'myError': billdata.lati.$touched && billdata.lati.$invalid }"> 
<input type="text" name="lati" id="latitude" class="form-control oditek-form" placeholder="Add Latitude coordinate" ng-model="latitude" ng-keypress="clearField('businessno');" ng-pattern="/^[0-9]+([,.][0-9]+)?$/"> 
</div> 

しかし、ここで問題があり、私はこのフィールドを必要とするmessage.hereそのエラーを示すことnumbers,+,- and .空白を受け入れることができ、また英数字値で許可されていません。私を助けてください。要件を満たすために

答えて

0

使用/^[.+-]?[0-9]+([,.][0-9]+)?$/

+0

として、または数字あなたの答えの品質を向上させるためにいくつかの説明を提供してください。 [良い回答を書く](http://stackoverflow.com/help/how-to-answer)のヘルプはこちらを参照してください。 – jacefarm

+0

原点regExpは数字で始まる文字列しか許可しないので、最初の数字に+ - bevoreを許可する必要があります。 – campino2k

0

、あなたは以下のパターン

ng-pattern="/^[0-9]{1,7}$/" 

を使用することができます。例:

<div ng-class="{ 'myError': billdata.lati.$touched && billdata.lati.$invalid }"> 
<input type="text" name="lati" id="latitude" class="form-control oditek-form" placeholder="Add Latitude coordinate" ng-model="latitude" ng-keypress="clearField('businessno');" ng-pattern="/^[0-9]{1,7}$/"> 
</div> 

希望これはあなたを助けます。

0

変更ng-pattern="/^([\-\+0-9]{0,1})(\.?[0-9])*$/"

どこ+できます^([\-\+0-9]{0,1})、とあなたNG-パターンの正規表現 - 最初の文字

<form name="myForm"> 
     <div ng-class="{ 'myError': billdata.lati.$touched && billdata.lati.$invalid }"> 
      <input type="text" ng-pattern="/^([\-\+0-9]{0,1})(\.?[0-9])*$/" name="lati" id="latitude" class="form-control oditek-form" placeholder="Add Latitude coordinate" ng-model="latitude" ng-keypress="clearField('businessno');" > 
     </div> 
     <label ng-show="myForm.lati.$error.pattern">Error</label> 
    </form> 
関連する問題