Javascript 判斷數字
在文字框上綁定事件,當焦點進入文字框時取消document.onkeydown當焦點離開時重新對document.onkeydown賦值。例如文字框可以這樣寫:<input type="text" onfocus="document.onkeydown = jumpPage" onblur="document.onkeydown = null;"/>
//整數格式<br />PatternsDict.long=/^(0|[1-9]/d*)$/;<br />//小數格式<br />PatternsDict.double=/^(0|[1-9]/d*)/.(/d+)$/;<br />//數值格式<br />PatternsDict.number=/^(0|[1-9]/d*)$|^(0|[1-9]/d*)/.(/d+)$/;<br />//自然數<br />PatternsDict.positive=/^([1-9]/d*)$/;<br />//負整數<br />PatternsDict.negative=/^(-([1-9]/d*))$/;<br />1.文字框只能輸入數字代碼(小數點也不能輸入)<br /><input onkeyup="this.value=this.value.replace(//D/g,'')" onafterpaste="this.value=this.value.replace(//D/g,'')"><br />2.只能輸入數字,能輸小數點.<br /><input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')"><br /><input name=txt1 onchange="if(//D/.test(this.value)){alert('只能輸入數字');this.value='';}"><br />3.數字和小數點方法二<br /><input type=text t_value="" o_value="" onkeypress="if(!this.value.match(/^[/+/-]?/d*?/.?/d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[/+/-]?/d+(?:/./d+)?)?$/))this.o_value=this.value" onkeyup="if(!this.value.match(/^[/+/-]?/d*?/.?/d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[/+/-]?/d+(?:/./d+)?)?$/))this.o_value=this.value" onblur="if(!this.value.match(/^(?:[/+/-]?/d+(?:/./d+)?|/./d*?)?$/))this.value=this.o_value;else{if(this.value.match(/^/./d+$/))this.value=0+this.value;if(this.value.match(/^/.$/))this.value=0;this.o_value=this.value}"><br />4.只能輸入字母和漢字<br /><input onkeyup="value=value.replace(/[/d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[/d]/g,''))" maxlength=10 name="Numbers"><br />5.只能輸入英文字母和數字,不能輸入中文<br /><input onkeyup="value=value.replace(/[^/w/.//]/ig,'')"><br />6.只能輸入數字和英文<font color="Red">chun</font><br /><input onKeyUp="value=value.replace(/[^/d|chun]/g,'')"><br />7.小數點後只能有最多兩位(數字,中文都可輸入),不能輸入字母和運算子號:<br /><input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || //./d/d$/.test(value))event.returnValue=false"><br />8.小數點後只能有最多兩位(數字,字母,中文都可輸入),可以輸入運算子號:<br /><input onkeyup="this.value=this.value.replace(/^(/-)*(/d+)/.(/d/d).*$/,'$1$2.$3')">