input正则匹配只能输入数字和指定位数小数点

8 篇文章 0 订阅
3 篇文章 0 订阅

这也不是我的原创,是别人的劳动成果,我拿过来用而已。

1、只能输入指定位数的数字:

比如只能输入四位正整数:

2、只能输入数字和保留三位小数点: 其中{}中的数字是小数点后面可以保留的几位小数,比如0就是保留一位小数,1就是保留两位小数。

3、JQ的validate验证:

只能输入1-10之间的数字:

前面的max和min,控制的是输入的规则。如果input的类型是‘type=text’,在中文状态下是可以输入中文的,

所以要加键盘正则匹配,禁用中文。当然啦,前提是引用jq的validate。

4、select选中验证:

也是用的JQvalidate:

请选择 1 2 默认选中第一个,当选择1或者2的时候,验证就通过。不需要写js代码,只需要加required行内验证就可以了。

5、只能输入整数,且首字母不能为0:

6、终极版本只能输入两位小数:

html代码:

js代码:

$("#ipt1").keyup(function () {
var reg = $(this).val().match(/\d+.?\d{0,2}/);
var txt = ‘’;
if (reg != null) {
txt = reg[0];
}
$(this).val(txt);
}).change(function () {
$(this).keypress();
var v = KaTeX parse error: Can't use function '\.' in math mode at position 37: … if (/\̲.̲/.test(v))
{
$(this).val(v.substr(0, v.length - 1));
}
});
到这里,顺便提一下踩到的坑。当我这么使用终极版的时候,出现了一个问题。流程是页面先引入JQ文件,然后写这串js代码,这样就可以顺利执行了(必须是JQ文件在上,js代码紧跟着在下,中间不得有任何代码。)。但是当我这么做的时候,页面上其他js文件就和JQuery文件冲突了,因为JQuery文件要在引用文件的最顶部,这样JQ才能生效。当我把JQ代码放到引用代码的最顶端,其他js代码可以正常执行,但是这串js代码就无法执行了。

所以一番查找和求助之后,师傅告诉了我这么一个方法:

var Jq = jQuery.noConflict();
Jq(document).ready(function(){
Jq("#singlelv").keyup(function () {
var reg = Jq(this).val().match(/\d+.?\d{0,2}/);
var txt = ‘’;
if (reg != null) {
txt = reg[0];
}
Jq(this).val(txt);
}).change(function () {
Jq(this).keypress();
var v = Jq(this).val();
if (/.$/.test(v))
{
Jq(this).val(v.substr(0, v.length - 1));
}
});
});

根据提供的引用内容,你可以使用以下方法来实现input只能输入数字小数点的功能: 1. 首先,你可以使用正则表达式来清除除了数字小数点之外的所有字符。可以使用`replace`函数和正则表达式`/[^\d.]/g`,将非数字和非小数点的字符替换为空字符串。 2. 如果输入中包含小数点,你可以检查是否有小数点,并将输入值转换为浮点数。可以使用`indexOf`函数来检查输入值中是否包含小数点,并且如果输入值不为空且没有小数点,可以使用`parseFloat`函数将其转换为浮点数,然后再将其转换回字符串。 3. 如果有小数点位数限制,例如只能输入小数,你可以在输入过程中检查小数点后的位数。如果小数点后的位数超过六,则可以使用`slice`函数截取小数点后的部分,并将其与零进行比较。如果小于等于零,则可以使用`replace`函数将其替换为空字符串。 综上所述,你可以使用上述方法来实现input只能输入数字小数点的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [关于 input 如何对输入框进行限制数字小数点,及小数点数字个数等问题](https://blog.csdn.net/thirteen_king13/article/details/117740028)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值