有没有一种干净的方法来生成一个正则表达式,它将匹配用地区配置的java NumberFormat格式化的值?或者一些库可以做到这一点?
这是在一个基于web的应用程序中&我想将正则表达式传递给jsp页面,以便对数值字段进行javascript验证。区域设置因用户而异&我希望不必为每个数字格式手工编写特定的正则表达式。
发布于 2010-02-05 18:26:41
不幸的是,DecimalFormat
使用的是its own pattern language。
您可以像这样获得模式字符串:
DecimalFormat nf = (DecimalFormat) NumberFormat.getCurrencyInstance();
// ...
String patter = nf.toLocalizedPattern();
在我的系统上返回"¤#,##0.00"
您可以使用自己的函数将其转换为正则表达式(仅限于应用程序中使用的情况),但它不在标准库中,我也不知道有任何第三方库可以执行此操作。
https://stackoverflow.com/questions/2209027
复制