我的表单中有一个输入,用户必须写一笔付款金额。问题是用户有不同的方法,它可能是1,350.55(这是他正确的),但它可能是这样的1.350,55或1.350。那么,有没有办法将金额解析为我的正确形式?
谢谢!
答案 0 :(得分:2)
你想要解析输入,对吗? 为什么不尝试将输入作为货币字段? 然后通过角度将其解析为容器,以便客户可以看到该值,然后使用角度过滤值。
这是一个小提琴: http://jsfiddle.net/lacrioque/vouLmrac/
<p><label for='numberinput'>Your Price here: </label><input type='number' name='numberinput' ng-model='numbertofilter' placeholder="1,350.99"/></p>
<p>Price: <span>{{numbertofilter | currency }}</span></p>
答案 1 :(得分:0)
将ng-pattern附加到您的输入并为其提供所需模式的RegEx。这样人们只能以正确的方式输入,你可以避免不良数据。
请查看this link以获取有关输入格式的更多信息。
在这里,我有一个例子,对于9999999
之前的任何整数,如果您了解RegEx
<input type="number" ng-model="price" name="price_field"
ng-pattern="/^[0-9]{1,7}$/" required>
您可以查看RegEx here。
答案 2 :(得分:0)
如果您不了解格式,您将如何解析13.995
?它会是&#34; 13955&#34; (整数)还是浮点数?
您可能希望屏蔽格式并完全避免使用千位分隔符。并告诉用户不要使用它们。