Las expresiones regulares funcionan por caracteres. "10" no es un caracter, son dos y no puedes ponerlo en un intervalo. La expresi?n que busca k4tm41, ser?a as?:
^\d((\.|,)\d{1,2})?$
Con esta expresi?n valdr?n todos los valores entre 0 y 9.99 con cero, uno o dos decimales y usando el punto o la coma decimal. Puedes a?adir una comprobaci?n anterior por si es exactamente 10 (si es que lo necesitas) y ya lo tienes.
Las expresiones regulares son similares, pero distintas seg?n el lenguaje que emplees. Estoy suponiendo que usar?s el objeto RegExp de javascript. Por ejemplo, en javascript no se usan comillas dobles (como hac?a svoboda) para que interprete literalmente un caracter, sino la barra invertida.
Si solo quieres permitir el punto decimal:
^\d(\.\d{1,2})?$
Si solo quieres permitir la coma decimal:
^\d(,\d{1,2})?$
---Modificado---
Estas tablas son una buena referencia para construir expresiones regulares para javascript.