微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从js中的文本字段中获取整数?

如何解决如何从js中的文本字段中获取整数?

所以我只想从 html 输入中获取整数并在 js 中使用它。

function apply(){
    let input = document.getElementById("txtfield").value;
    console.log(input);
    document.getElementById("txtfield").value = '';
}
<!DOCTYPE html>
<html lang="en">
<head>
    
    <title>stack qustion</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
  <input id="txtfield">
  <button onclick="apply()" id="apply">apply</button>                              
    <script src="script.js"></script>
</body>
</html>

解决方法

您可以将 type="number" 添加到您的输入字段,以便用户只能输入数字:

<input type="number" id="txtfield">

或者,如果您只想获取整数并仍然能够将其他字符输入到文本字段中。然后你必须为你的函数添加一个检查。此正则表达式 input.replace(/\D/g,'') 将从输入字符串中删除所有非数字字符:

function apply(){
    let input = document.getElementById("txtfield").value;
    console.log(input.replace(/\D/g,''));
    document.getElementById("txtfield").value = '';
}
<!DOCTYPE html>
<html lang="en">
<head>
    
    <title>stack qustion</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
  <input id="txtfield">
  <button onclick="apply()" id="apply">apply</button>                              
    <script src="script.js"></script>
</body>
</html>

,

使用 regex 替换所有非数字值:

function apply(){
    let input = document.getElementById("txtfield").value;
    console.log(input.replace(/[^0-9\.]+/g,''));
    document.getElementById("txtfield").value = '';
}
<!DOCTYPE html>
<html lang="en">
<head>
    
    <title>stack qustion</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
  <input id="txtfield">
  <button onclick="apply()" id="apply">apply</button>                              
    <script src="script.js"></script>
</body>
</html>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。