Esta es una explicación rápida de las expresiones regulares:
el ^ indica que desde ese punto se hará la validación de la expresión, será el inicio.
el $ indica que hasta ese punto se hará la validación de la expresión, será el tope.
el * indica que la expresión se repetirá 0 o exclusivamente n veces, es decir no podrá estar 1 vez.
el + indica que la expresión se repetirá 1 o n veces, es decir por lo menos debe estar 1 vez.
el ? indica que la expresión se repetirá 0 o exclusivamente 1 vez, es decir no podrá repetirse más de 1 vez.
{n} indica que la expresión se repetirá n veces exclusivamente, es decir ni más ni menos de n veces.
{n,} indica que la expresión se repetirá de n al infinito.
{n,m} indica que la expresión se repetirá entre n y m.
Para realizar una validación en JavaScript para que solo acepte decimales se puede usar lo siguiente:
function controlDosDecimales(el) {
var ex = /^[0-9]+\.?[0-9] $/;
if (ex.test(el.value) == false)
{
el.value = el.value.substring(0, el.value.length - 1);
}
}
El siguiente código también se puede usar, es más completo! :)
ResponderEliminarfunction NumCheck(e, field) {
debugger
key = e.keyCode ? e.keyCode : e.which
// backspace
if (key == 8) return true
// 0-9
if (key > 47 && key < 58) {
if (field.value == "") return true
regexp = /.[0-9]{2}$/
return !(regexp.test(field.value))
}
// .
if (key == 46) {
if (field.value == "") return false
regexp = /^[0-9]+$/
return regexp.test(field.value)
}
// other key
return false
}