我需要一个帮助。我有一个文本字段,不应该使用alpha数值,而是使用Angular.js获取numbers,+,-,.
。我在下面解释我的代码。
<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>
但是问题是这个字段的值类似于-122.32379000000003
,它显示错误信息。我需要这个字段只能接受numbers,+,- and .
空格,也不允许使用字母数字值。请帮帮我。
答案 0 :(得分:0)
使用/^[.+-]?[0-9]+([,.][0-9]+)?$/
答案 1 :(得分: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>
希望这会对你有所帮助。
答案 2 :(得分:0)
将ng-pattern regex更改为ng-pattern="/^([\-\+0-9]{0,1})(\.?[0-9])*$/"
其中^([\-\+0-9]{0,1})
允许使用+, - 或数字作为第一个字符
<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>