gpt4 book ai didi

Javascript 将文本字段限制为正数和负数

转载 作者:行者123 更新时间:2023-11-29 18:25:52 26 4
gpt4 key购买 nike

javascript 中有一种方法允许用户在文本字段(input type="text")中仅输入数字,但可以选择在它们前面加上减号? (即只有负数和正数)

最佳答案

<input type='text' onkeypress='return numbersOnly(this,event,false,true);'>

function numbersOnly(Sender,evt,isFloat,isNegative) {
if(Sender.readOnly) return false;

var key = evt.which || !window.event ? evt.which : event.keyCode;
var value = Sender.value;

if((key == 46 || key == 44) && isFloat){
var selected = document.selection ? document.selection.createRange().text : "";
if(selected.length == 0 && value.indexOf(".") == -1 && value.length > 0) Sender.value += ".";
return false;
}
if(key == 45) { // minus sign '-'
if(!isNegative) return false;
if(value.indexOf('-')== -1) Sender.value = '-'+value; else Sender.value = value.substring(1);
if(Sender.onchange != null) {
if(Sender.fireEvent){
Sender.fireEvent('onchange');
} else {
var e = document.createEvent('HTMLEvents');
e.initEvent('change', false, false);
Sender.dispatchEvent(e);
}
}

var begin = Sender.value.indexOf('-') > -1 ? 1 : 0;
if(Sender.setSelectionRange){
Sender.setSelectionRange(begin,Sender.value.length);
} else {
var range = Sender.createTextRange();
range.moveStart('character',begin);
range.select();
}

return false;
}
if(key > 31 && (key < 48 || key > 57)) return false;
}

相关问题:HTML Text Input allow only Numeric input

关于Javascript 将文本字段限制为正数和负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13289810/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com