Globalize.js 十进制数字验证的错误值
Posted
技术标签:
【中文标题】Globalize.js 十进制数字验证的错误值【英文标题】:wrong values with Globalize.js decimal number validation 【发布时间】:2014-05-22 08:12:53 【问题描述】:我正在尝试使用 jquery 的 globalize.js 插件验证我的 asp.net mvc5 应用程序上的一些数字...
当我输入带有,
作为小数点分隔符的数字时,一切正常。
当我使用.
输入它时,数字通过验证,但这是错误的,应该抛出错误。我检查了 jquery 中发生了什么,发现用于检查数字的行
var val = Globalize.parseFloat(value);
返回错误的值。当我通过1,25
时,结果是1.25
。当我通过1.25
时,返回值为125
,而不是错误...
我已经声明了
Globalize.culture('sr-Latn-RS');
在我的 javascript 和
<globalization culture="sr-Latn-RS" uiCulture="sr-Latn-RS" />
在 web.config 中。
有什么解决方法吗?
【问题讨论】:
你在说这个插件github.com/jquery/globalize 吗? 我不确定是不是这个,我从 nuget 获得了插件,遵循此页面上的说明icanmakethiswork.blogspot.com/2012/09/… 【参考方案1】:经过几天的探索,我终于在 jquery.globalize 插件的 ParseFloat 函数的“Handle Groups”部分找到了它。
integer = integer.split( groupSep ).join( "" );
行应替换为
integer = integer.split(groupSep).join(nf["."]);
【讨论】:
以上是关于Globalize.js 十进制数字验证的错误值的主要内容,如果未能解决你的问题,请参考以下文章
在 JavaScript 中验证十进制数字 - IsNumeric()