JS控制文本框只能输入数字和小数点

水深无声 2022-06-10 08:54 359阅读 0赞
  1. <input type="text" value="" onkeyup="onlyNumber(this)" onblur="onlyNumber(this)"/>
  2. <script type="text/javascript">
  3. function onlyNumber(obj) {
  4. //得到第一个字符是否为负号
  5. var t = obj.value.charAt(0);
  6. //先把非数字的都替换掉,除了数字和.
  7. obj.value = obj.value.replace(/[^\d\.]/g, '');
  8. //必须保证第一个为数字而不是.
  9. obj.value = obj.value.replace(/^\./g, '');
  10. //保证只有出现一个.而没有多个.
  11. obj.value = obj.value.replace(/\.{2,}/g, '.');
  12. //保证.只出现一次,而不能出现两次以上
  13. obj.value = obj.value.replace('.', '$#$').replace(/\./g, '').replace(
  14. '$#$', '.');
  15. //如果第一位是负号,则允许添加
  16. if (t == '-') {
  17. obj.value = '-' + obj.value;
  18. }
  19. }
  20. </script>

演示地址: 点击

发表评论

表情:
评论列表 (有 0 条评论,359人围观)

还没有评论,来说两句吧...

相关阅读