js控制输入框只能输入数字金额,可以为负,否则自动截取掉

JavaScript09

js控制输入框只能输入数字金额,可以为负,否则自动截取掉,第1张

/*

    匹配带正负号、小数点的数字

*/

function isNumber( num ){

    if( num ){

        return /^\-?\d+\.?\d+$/.test( num )   

    }

    return false

}

function validElem( id ){

    if( id ){

        var elem = document.getElementById( id )

        

        if( elem && !isNumber( elem.value ) ){

            //非数字

            elem.value = ''

            return false

        }

    }

}

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>

<HEAD>

<TITLE> New Document </TITLE>

<META NAME="Generator" CONTENT="EditPlus">

<META NAME="Author" CONTENT="">

<META NAME="Keywords" CONTENT="">

<META NAME="Description" CONTENT="">

</HEAD>

<BODY>

请输入金额:

<input type="text" id="money"><span id="tip"></span>

<SCRIPT LANGUAGE="JavaScript">

<!--

 var m = document.getElementById("money")

 m.onkeyup = function() {

var regex = /^\d+\.?\d{0,2}$/

if (!regex.test(this.value))

{

document.getElementById("tip").innerHTML = "输入有误!"

this.value = ""

this.focus()

}

 }

//-->

</SCRIPT>

</BODY>

</HTML>