Javascript 使用InputMask html(jqueryl或js)强制在html输入中使用小数?

Javascript 使用InputMask html(jqueryl或js)强制在html输入中使用小数?,javascript,jquery,html,regex,Javascript,Jquery,Html,Regex,我想强制我的html输入如下显示:14尾数最大值从1到14,以及有效的三个小数点,如果用户在取默认值000后没有指定点的值 示例:输入5显示5.000 输入5.2显示5.200 输入22222显示22222.000显示。 请帮忙 检查数字是否匹配\d{1,14}\.\d{1,3}{0,1} 按.dot字符分割 检查第二个数组结果的长度 如果为空,则添加.000;如果长度为1或2,则添加2或1 0 检查数字是否匹配\d{1,14}\.\d{1,3}{0,1} 按.dot字符分割 检查第二个数组结果

我想强制我的html输入如下显示:14尾数最大值从1到14,以及有效的三个小数点,如果用户在取默认值000后没有指定点的值 示例:输入5显示5.000 输入5.2显示5.200 输入22222显示22222.000显示。 请帮忙

检查数字是否匹配\d{1,14}\.\d{1,3}{0,1} 按.dot字符分割 检查第二个数组结果的长度 如果为空,则添加.000;如果长度为1或2,则添加2或1 0 检查数字是否匹配\d{1,14}\.\d{1,3}{0,1} 按.dot字符分割 检查第二个数组结果的长度 如果为空,则添加.000;如果长度为1或2,则添加2或1 0 使用.indexOf检查是否存在错误。性格确保它在那里,并检查其索引后面的子字符串的长度。如果小于3,则添加一些零

HTML JavaScript 使用.indexOf检查是否存在错误。性格确保它在那里,并检查其索引后面的子字符串的长度。如果小于3,则添加一些零

HTML JavaScript

请表现出一些努力。你尝试过什么?我相信我从昨天起做了很多努力,我可以得到我问题的这个解决方案,因为它比那个复杂,但是像这样的解决方案就足够了,我到处寻找,但我没有找到答案。如果值为12-14位怎么办?变为123456789123.000变为15位长?@najeh22我甚至不怀疑你是否做出了努力。我只是想让你向我们展示你失败的尝试,所以我们有一些改进。在我的数据库表中,我有价格数字16,3请展示一些努力。你尝试过什么?我相信我从昨天起做了很多努力,我可以得到我问题的这个解决方案,因为它比那个复杂,但是像这样的解决方案就足够了,我到处寻找,但我没有找到答案。如果值为12-14位怎么办?变为123456789123.000变为15位长?@najeh22我甚至不怀疑你是否做出了努力。我只是想让你给我们看看你失败的尝试,所以我们有一些改进。在我的数据库表中,我有价格数字16,3谢谢你,这很好,但我仍然有一些常规的问题expression@najeh22我的答案中没有正则表达式,所以我不知道你的问题是什么。另外:。你的回答回答了部分问题,但由于另一方尚未解决,我的问题没有解决。我需要一个正则表达式来强制显示真实部分,我用你的解决方案测试了输入掩码,但没有给出好的结果。强制显示真实部分是什么意思?我看不出你原来的问题中有这一部分。我找到了解决办法。谢谢你,这很好,但我仍然有问题expression@najeh22我的答案中没有正则表达式,所以我不知道你的问题是什么。另外:。你的回答回答了部分问题,但由于另一方尚未解决,我的问题没有解决。我需要一个正则表达式来强制显示真实部分,我用你的解决方案测试了输入掩码,但没有给出好的结果。强制显示真实部分是什么意思?我在你原来的问题中没有看到这一部分。我找到了我尝试过的解决方案,但我仍然有问题,检查decel{var ex=/^[0-9]{1,3}\.[0-9]{2}$/;ifex.testel.value==false{el.value=el.value.substring0,el.value.length-1;},我在html中使用onkeyup。。我想这对你来说已经足够清楚了,你可以得到你所需要的。我说分开。不是子字符串我尝试了这个,但是我仍然有问题,检查decel{var ex=/^[0-9]{1,3}\[0-9]{2}$/;ifex.testel.value==false{el.value=el.value.substring0,el.value.length-1;},我在html中使用onkeyup。。我想这对你来说已经足够清楚了,你可以得到你所需要的。我说分开。非子串
<input type="text" id="input" maxlength="14" value="" />
/* Select the desired input, and add an onChange event listener */
document.querySelector('#input').onchange = function () {
    /* if the user didn't add a dot, we add one with 3 zeros */
    if (this.value.indexOf('.') == -1) this.value += '.000';

    /* Otherwise, we check how many numbers there are after the dot
       and make sure there's at least 3*/
    if (this.value.substring(this.value.indexOf('.') + 1).length < 3)
        while (this.value.substring(this.value.indexOf('.') + 1).length < 3)
            this.value += '0';
};