2010-02-05 4 views
4

Existe-t-il un moyen propre de générer une expression régulière qui corresponde aux valeurs formatées avec une valeur NumberFormat java configurée en fonction des paramètres régionaux? Ou une bibliothèque qui va le faire?java génère une expression régulière à partir de NumberFormat localisé

Ceci est dans une application Web & Je veux passer l'expression rationnelle à la page jsp pour la validation javascript sur les champs numériques. Les paramètres régionaux varient d'un utilisateur à l'autre & J'aimerais ne pas avoir à coder à la main des expressions régulières spécifiques pour chaque format numérique.

Répondre

1

Malheureusement DecimalFormat utilise its own pattern language.

Vous pouvez obtenir la chaîne de modèle comme celui-ci:

DecimalFormat nf = (DecimalFormat) NumberFormat.getCurrencyInstance(); 
// ... 
String patter = nf.toLocalizedPattern(); 

Ce qui sur mon système retourne "¤#,##0.00"

Vous pourriez être en mesure de rouler votre propre fonction qui convertit que pour une expression régulière (limitée aux cas qui sont utilisés dans votre application), mais ce n'est pas dans la bibliothèque standard et je ne connais aucune bibliothèque tierce qui le fait.

+0

Donc vous dites que c'est ma chance pour la gloire ... Merci, cela me permet de rentrer à la maison. Je garderai de l'espoir pour un peu que quelqu'un d'autre puisse sonner avec le reste. – user267272