600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 『JavaScript』限制Input只能输入数字实现思路及代码【javascript】

『JavaScript』限制Input只能输入数字实现思路及代码【javascript】

时间:2020-06-08 14:31:20

相关推荐

『JavaScript』限制Input只能输入数字实现思路及代码【javascript】

web前端|js教程

js,input,数字

web前端-js教程

这玩意很多人写过,但是今天临时要用的时候找不到符合需求的,所以立马来写一个,既然都写完了而且还满符合需求的就放上来让大家鞭一鞭。

卡盟主站源码带控制端,合并字幕vscode,ubuntu文本界面启动,自己Tomcat,sqlite高效读取,java免费服务器空间,jquery ui dialog插件,字节跳动前端框架,多线程爬虫原理,PHP很烂,广州网站seo外包,中国开源网站,保护环境网页设计模板,php后台开发模板下载,页面选项卡在哪里,vb学生档案管理系统,vb程序 下载lzw

需求很简单,一个文字方块必须限制只能输入数字(或是小数点)并且要支援 IE 和 Firefox。

HTML的 Input 是这样下滴

电影源码vip带采集,浩辰cad ubuntu,tomcat9更改根目录,私家爬虫爬行社,文豆php教育培训学院,广州seo论坛lzw

•其中那个 Style 是在 IE 浏览器下有效用的,可以让使用者无法在这文字方块内使用输入法。

•而onkeyup 则是我们自己撰写的 js 啦,完整的 Code 在下面。

——————————————————————————–

验证只能输入数字

android超级玛丽源码,vscode用不了plt,卸载ubuntu用户,配置优化tomcat环境,爬虫破解漫画,php操作html,徐州seo网络推广优化价格,手机网站免费生成,网站建设中模板 模板无忧lzw

function ValidateNumber(e, pnumber){

if (!/^\d+$/.test(pnumber)){

$(e).val(/^\d+/.exec($(e).val()));

}

return false;

}

demo 是利用 Regex 来将不属于数字的过滤掉。

——————————————————————————–

实务上经常需要验证的是有小数点的栏位,网路上搜寻到的一堆是可以输入「1.2.3456」的这种诡异值,其实只要小改一下 Regex 就可以验证了。

function ValidateFloat(e, pnumber){

if (!/^\d+[.]?\d*$/.test(pnumber)){

$(e).val(/^\d+[.]?\d*/.exec($(e).val()));

}

return false;

}

这样子就可以输入整数也可以输入一个小数点

——————————————————————————–

以上就给有需要的朋友使用啦。

因为有网友说这种玩意儿不需要动用到 jQuery 的确,是不用动用到所以来写一下 纯 javascript 的版本

HTML要有所改变

只能输入数字(纯 javascript)

function ValidateNumber(e, pnumber){

if (!/^\d+$/.test(pnumber)){

e.value = /^\d+/.exec(e.value);}

return false;

}

可以输入小数(纯 javascript)

function ValidateNumber(e, pnumber)

{

if (!/^\d+[.]?\d*$/.test(pnumber))

{

e.value = /^\d+[.]?\d*/.exec(e.value);

}

return false;

}

有网友说他想要限制只有小数点后一位就好,因此再来小改一下其实重点只有RegExp要改而已

function ValidateFloat2(e, pnumber)

{

if (!/^\d+[.]?[1-9]?$/.test(pnumber))

{

e.value = /\d+[.]?[1-9]?/.exec(e.value);

}

return false;

}

如果你是用万恶的IE那当你一开始就输入非数字的时候就会送你一个讨厌的null因此又要改写成这样过滤掉

if (!/^\d+$/.test(pnumber))

{

var newValue = /^\d+/.exec(e.value);

if (newValue != null)

{

e.value = newValue;

}

else

{

e.value = "";

}

}

return false;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。