Javascript 更改文本框的输入类型
我正在为我的文本框使用脚本,以确保用户只能输入数字而不是文本 这是我的文本框:Javascript 更改文本框的输入类型,javascript,Javascript,我正在为我的文本框使用脚本,以确保用户只能输入数字而不是文本 这是我的文本框: <input type="text" value="" id="tb1" name="tb1" onkeypress="return isNumber(event)" /> 下面是我的javascript: function isNumber(evt) { evt = (evt) ? evt : window.event; var charCode = (evt.which) ? e
<input type="text" value="" id="tb1" name="tb1" onkeypress="return isNumber(event)" />
下面是我的javascript:
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
函数isNumber(evt){
evt=(evt)?evt:window.event;
var charCode=(evt.which)?evt.which:evt.keyCode;
如果(字符码>31&(字符码<48 | |字符码>57)){
返回false;
}
返回true;
}
我想升级我的JavaScript。我希望文本框接受带有点的输入,如11.5
我需要在脚本中更改什么,以便接受点并将其限制为一个?如果满足您的要求,可以使用type=“number”属性
<input type="text" value="" id="tb1" name="tb1" onkeypress="return isNumber(event)" type="number" />
还是用这个
function isNumber(evt)
{
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode != 46 && charCode > 31
&& (charCode < 48 || charCode > 57))
return false;
return true;
}
函数isNumber(evt)
{
var charCode=(evt.which)?evt.which:evt.keyCode;
如果(charCode!=46&&charCode>31
&&(字符编码<48 | |字符编码>57))
返回false;
返回true;
}
试试这个
<input type="text" id="txtCheck" onkeypress="AllowDecimalNumbersOnly(this, event)" />
function AllowDecimalNumbersOnly(Id, Evt) {
Id.value = Id.value.replace(/[^0-9\.]/g, '');
if ((Evt.which != 46 || Id.value.indexOf('.') != -1) && (Evt.which < 48 || Evt.which > 57)) {
Evt.preventDefault();
}
}
函数AllowDecimalNumbersOnly(Id,Evt){
Id.value=Id.value.replace(/[^0-9\.]/g');
if((Evt.which!=46 | | | Id.value.indexOf('.')!=1)和&(Evt.which<48 | | Evt.which>57)){
Evt.preventDefault();
}
}
JavaScript:
<script>
var isHav=false;
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if(charCode == 46){
if(isHav==true){
return false;
}else{
isHav=true;
return true;
}
}
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
</script>
var isHav=假;
函数isNumber(evt){
evt=(evt)?evt:window.event;
var charCode=(evt.which)?evt.which:evt.keyCode;
如果(charCode==46){
如果(isHav==true){
返回false;
}否则{
isHav=真;
返回true;
}
}
如果(字符码>31&(字符码<48 | |字符码>57)){
返回false;
}
返回true;
}
HTML:
<input type="text" value="" id="tb1" name="tb1" onkeypress="return isNumber(event)" />
或者,您也可以使用此
函数isNumber(evt){
var theEvent=evt | | window.event;
var key=theEvent.keyCode | | theEvent.which;
key=String.fromCharCode(key);
var regex=/^[0-9.,]+$/;
如果(!正则表达式测试(键)){
theEvent.returnValue=false;
如果(theEvent.preventDefault)theEvent.preventDefault();
}
}
遵循以下代码:
您需要通过添加此参数来更改按键事件的功能
如下图所示:
<input type="text" value="" id="tb1" name="tb1" onkeypress="return isNumber(event, this)" />
并更改您的功能,如下所示:
function isNumber(evt, element) {
var charCode = (evt.which) ? evt.which : event.keyCode
if ((charCode != 46 || $(element).val().indexOf('.') != -1) && // “.” CHECK DOT, AND ONLY ONE.
(charCode > 31 && (charCode < 48 || charCode > 57)))
{
return false;
}
return true;
}
函数isNumber(evt,元素){
var charCode=(evt.which)?evt.which:event.keyCode
if((charCode!=46 | |$(element).val().indexOf('.')!=-1)&&/“.”勾选点,且仅勾选一个。
(charCode>31&(charCode<48|charCode>57))
{
返回false;
}
返回true;
}
您可以检查以下运行代码:
函数isNumber(evt,元素){
var charCode=(evt.which)?evt.which:event.keyCode
if((charCode!=46 | |$(element).val().indexOf('.')!=-1)&&/“.”勾选点,且仅勾选一个。
(charCode>31&(charCode<48|charCode>57))
{
返回false;
}
返回true;
}
以下是参考资料。。您可以使用如下正则表达式验证输入:/^\d*\.?\d*$/这只允许用户输入。你们应该正确地阅读问题。他只需要一个点(.)允许在textbox中使用这是一个精确的脚本,并且只允许十进制或int值。我不知道你为什么否决了这个答案。