13 个解决方案
#1
<input type="text" onKeypress="return (/[\d.]/.test(String.fromCharCode(event.keyCode)))"/>
#2
<input type="text" onKeypress="var TF=(/[\d.]/.test(String.fromCharCode(event.keyCode)));if(!TF) alert('错误'); return TF;"/>
刚刚题没有看完 ^_^'
刚刚题没有看完 ^_^'
#3
/^\d+(\.\d+)?$/
#4
<script language=javascript>
function isNumber(str)
{
return str.match(/\D/)==null
}
</script>
function isNumber(str)
{
return str.match(/\D/)==null
}
</script>
#5
如果别人输入的时候输入两个以上的小数点怎么办。
#6
function regInput(reg)
{
var srcElem = event.srcElement
var oSel = document.selection.createRange()
var srcRange = srcElem.createTextRange()
oSel.setEndPoint("StartToStart", srcRange)
var num = oSel.text + String.fromCharCode(event.keyCode) + srcRange.text.substr(oSel.text.length)
event.returnValue = reg.test(num)
}
在文本框中加上以下代码
onKeyPress="regInput(/^[0-9]*$/)" style="ime-mode:disabled"
{
var srcElem = event.srcElement
var oSel = document.selection.createRange()
var srcRange = srcElem.createTextRange()
oSel.setEndPoint("StartToStart", srcRange)
var num = oSel.text + String.fromCharCode(event.keyCode) + srcRange.text.substr(oSel.text.length)
event.returnValue = reg.test(num)
}
在文本框中加上以下代码
onKeyPress="regInput(/^[0-9]*$/)" style="ime-mode:disabled"
#7
上面的代码,包括英文字母,中文输入法都写不出来。
但还是解决不了shift+数字的问题
如果想加上小数点可以改成="regInput(/^[0-9]*$./)"
但还是解决不了多次输入小数点的问题
但还是解决不了shift+数字的问题
如果想加上小数点可以改成="regInput(/^[0-9]*$./)"
但还是解决不了多次输入小数点的问题
#8
这个应该是绝对没有问题了
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
<script language="javascript">
function checkIsFloat(){
var nc=event.keyCode;
if((nc>=48) && (nc<=57) ){
}else if(nc==46){
var s=document.frm.lengzg.value;
for(var i=0;i<s.length;i++){
if(s.charAt(i)=='.'){
event.keyCode=0; return;
}
}
}else{
event.keyCode=0;return;
}
}
</script>
</head>
<body bgcolor="#ffffff">
<form name="frm">
<table width="331" border="0">
<tr>
<td width="154" height="35" scope="col">
<div align="right">
<label><font size="2">输入距离:</font></label>
</div></td>
<td width="167" scope="col"><input type="text" name="lengzg" value="100" style="width:120px;" onkeypress="checkIsFloat();"><font size="2">米</font>
</td>
</tr>
</table>
</form>
</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
<script language="javascript">
function checkIsFloat(){
var nc=event.keyCode;
if((nc>=48) && (nc<=57) ){
}else if(nc==46){
var s=document.frm.lengzg.value;
for(var i=0;i<s.length;i++){
if(s.charAt(i)=='.'){
event.keyCode=0; return;
}
}
}else{
event.keyCode=0;return;
}
}
</script>
</head>
<body bgcolor="#ffffff">
<form name="frm">
<table width="331" border="0">
<tr>
<td width="154" height="35" scope="col">
<div align="right">
<label><font size="2">输入距离:</font></label>
</div></td>
<td width="167" scope="col"><input type="text" name="lengzg" value="100" style="width:120px;" onkeypress="checkIsFloat();"><font size="2">米</font>
</td>
</tr>
</table>
</form>
</body>
</html>
#9
<input onkeyup="value=value.replace(/[^\d]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" ID="Text2" NAME="Text2">
#10
cxz7531(大花猫) 你这个切换到中文输入法 可以连续输入“。” 也不全面
#11
/^[\d]+[\.]?[\d]+$/g
#12
to hcqhappy(月坏)
----------------
既然这样,再完善一下
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
<script language="javascript">
function checkIsFloat(){
var nc=event.keyCode;
if((nc>=48) && (nc<=57) ){
}else if(nc==46){
var s=document.frm.lengzg.value;
for(var i=0;i<s.length;i++){
if(s.charAt(i)=='.'){
event.keyCode=0; return;
}
}
}else{
event.keyCode=0;return;
}
}
</script>
</head>
<body bgcolor="#ffffff">
<form name="frm">
<table width="331" border="0">
<tr>
<td width="154" height="35" scope="col">
<div align="right">
<label><font size="2">输入距离:</font></label>
</div></td>
<td width="167" scope="col">
<input type="text" name="lengzg" value="100"
style="width:120px;ime-mode:disabled"
onkeypress="checkIsFloat();"
onpaste="return !clipboardData.getData('text').match(/\D/)"
ondragenter="return false" >
<font size="2">米</font>
</td>
</tr>
</table>
</form>
</body>
</html>
----------------
既然这样,再完善一下
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
<script language="javascript">
function checkIsFloat(){
var nc=event.keyCode;
if((nc>=48) && (nc<=57) ){
}else if(nc==46){
var s=document.frm.lengzg.value;
for(var i=0;i<s.length;i++){
if(s.charAt(i)=='.'){
event.keyCode=0; return;
}
}
}else{
event.keyCode=0;return;
}
}
</script>
</head>
<body bgcolor="#ffffff">
<form name="frm">
<table width="331" border="0">
<tr>
<td width="154" height="35" scope="col">
<div align="right">
<label><font size="2">输入距离:</font></label>
</div></td>
<td width="167" scope="col">
<input type="text" name="lengzg" value="100"
style="width:120px;ime-mode:disabled"
onkeypress="checkIsFloat();"
onpaste="return !clipboardData.getData('text').match(/\D/)"
ondragenter="return false" >
<font size="2">米</font>
</td>
</tr>
</table>
</form>
</body>
</html>
#13
多谢各位大侠了
#1
<input type="text" onKeypress="return (/[\d.]/.test(String.fromCharCode(event.keyCode)))"/>
#2
<input type="text" onKeypress="var TF=(/[\d.]/.test(String.fromCharCode(event.keyCode)));if(!TF) alert('错误'); return TF;"/>
刚刚题没有看完 ^_^'
刚刚题没有看完 ^_^'
#3
/^\d+(\.\d+)?$/
#4
<script language=javascript>
function isNumber(str)
{
return str.match(/\D/)==null
}
</script>
function isNumber(str)
{
return str.match(/\D/)==null
}
</script>
#5
如果别人输入的时候输入两个以上的小数点怎么办。
#6
function regInput(reg)
{
var srcElem = event.srcElement
var oSel = document.selection.createRange()
var srcRange = srcElem.createTextRange()
oSel.setEndPoint("StartToStart", srcRange)
var num = oSel.text + String.fromCharCode(event.keyCode) + srcRange.text.substr(oSel.text.length)
event.returnValue = reg.test(num)
}
在文本框中加上以下代码
onKeyPress="regInput(/^[0-9]*$/)" style="ime-mode:disabled"
{
var srcElem = event.srcElement
var oSel = document.selection.createRange()
var srcRange = srcElem.createTextRange()
oSel.setEndPoint("StartToStart", srcRange)
var num = oSel.text + String.fromCharCode(event.keyCode) + srcRange.text.substr(oSel.text.length)
event.returnValue = reg.test(num)
}
在文本框中加上以下代码
onKeyPress="regInput(/^[0-9]*$/)" style="ime-mode:disabled"
#7
上面的代码,包括英文字母,中文输入法都写不出来。
但还是解决不了shift+数字的问题
如果想加上小数点可以改成="regInput(/^[0-9]*$./)"
但还是解决不了多次输入小数点的问题
但还是解决不了shift+数字的问题
如果想加上小数点可以改成="regInput(/^[0-9]*$./)"
但还是解决不了多次输入小数点的问题
#8
这个应该是绝对没有问题了
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
<script language="javascript">
function checkIsFloat(){
var nc=event.keyCode;
if((nc>=48) && (nc<=57) ){
}else if(nc==46){
var s=document.frm.lengzg.value;
for(var i=0;i<s.length;i++){
if(s.charAt(i)=='.'){
event.keyCode=0; return;
}
}
}else{
event.keyCode=0;return;
}
}
</script>
</head>
<body bgcolor="#ffffff">
<form name="frm">
<table width="331" border="0">
<tr>
<td width="154" height="35" scope="col">
<div align="right">
<label><font size="2">输入距离:</font></label>
</div></td>
<td width="167" scope="col"><input type="text" name="lengzg" value="100" style="width:120px;" onkeypress="checkIsFloat();"><font size="2">米</font>
</td>
</tr>
</table>
</form>
</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
<script language="javascript">
function checkIsFloat(){
var nc=event.keyCode;
if((nc>=48) && (nc<=57) ){
}else if(nc==46){
var s=document.frm.lengzg.value;
for(var i=0;i<s.length;i++){
if(s.charAt(i)=='.'){
event.keyCode=0; return;
}
}
}else{
event.keyCode=0;return;
}
}
</script>
</head>
<body bgcolor="#ffffff">
<form name="frm">
<table width="331" border="0">
<tr>
<td width="154" height="35" scope="col">
<div align="right">
<label><font size="2">输入距离:</font></label>
</div></td>
<td width="167" scope="col"><input type="text" name="lengzg" value="100" style="width:120px;" onkeypress="checkIsFloat();"><font size="2">米</font>
</td>
</tr>
</table>
</form>
</body>
</html>
#9
<input onkeyup="value=value.replace(/[^\d]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" ID="Text2" NAME="Text2">
#10
cxz7531(大花猫) 你这个切换到中文输入法 可以连续输入“。” 也不全面
#11
/^[\d]+[\.]?[\d]+$/g
#12
to hcqhappy(月坏)
----------------
既然这样,再完善一下
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
<script language="javascript">
function checkIsFloat(){
var nc=event.keyCode;
if((nc>=48) && (nc<=57) ){
}else if(nc==46){
var s=document.frm.lengzg.value;
for(var i=0;i<s.length;i++){
if(s.charAt(i)=='.'){
event.keyCode=0; return;
}
}
}else{
event.keyCode=0;return;
}
}
</script>
</head>
<body bgcolor="#ffffff">
<form name="frm">
<table width="331" border="0">
<tr>
<td width="154" height="35" scope="col">
<div align="right">
<label><font size="2">输入距离:</font></label>
</div></td>
<td width="167" scope="col">
<input type="text" name="lengzg" value="100"
style="width:120px;ime-mode:disabled"
onkeypress="checkIsFloat();"
onpaste="return !clipboardData.getData('text').match(/\D/)"
ondragenter="return false" >
<font size="2">米</font>
</td>
</tr>
</table>
</form>
</body>
</html>
----------------
既然这样,再完善一下
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
<script language="javascript">
function checkIsFloat(){
var nc=event.keyCode;
if((nc>=48) && (nc<=57) ){
}else if(nc==46){
var s=document.frm.lengzg.value;
for(var i=0;i<s.length;i++){
if(s.charAt(i)=='.'){
event.keyCode=0; return;
}
}
}else{
event.keyCode=0;return;
}
}
</script>
</head>
<body bgcolor="#ffffff">
<form name="frm">
<table width="331" border="0">
<tr>
<td width="154" height="35" scope="col">
<div align="right">
<label><font size="2">输入距离:</font></label>
</div></td>
<td width="167" scope="col">
<input type="text" name="lengzg" value="100"
style="width:120px;ime-mode:disabled"
onkeypress="checkIsFloat();"
onpaste="return !clipboardData.getData('text').match(/\D/)"
ondragenter="return false" >
<font size="2">米</font>
</td>
</tr>
</table>
</form>
</body>
</html>
#13
多谢各位大侠了