JavaScript校驗(yàn)Number(4,1)格式的數(shù)字實(shí)例代碼
項(xiàng)目里面有個(gè)錄入,需要數(shù)字格式進(jìn)行校驗(yàn),前端使用的是miniUI框架,miniUI文檔里面自帶了校驗(yàn),vtype="float",校驗(yàn)浮點(diǎn)數(shù)的,但是它不能做到校驗(yàn)這個(gè)浮點(diǎn)數(shù)有幾位整數(shù)和幾位小數(shù),所以就有必要重寫寫一個(gè)js函數(shù)來校驗(yàn):
實(shí)現(xiàn)思路:
1.獲取所填寫的值
2.判斷是否為空,不為空執(zhí)行3
3.對字符串trim()去空格,并且判斷以”.”開始或者結(jié)尾的都不是合法的數(shù)字,給出提示。
4.提前判斷字符串是否是true或者false,因?yàn)橄旅嬉褂肗umber函數(shù),它可以把true和false轉(zhuǎn)為1和0,所以需要在使用之前作判斷,如果字符串是這個(gè)則給出提示
5.對字符串使用Number函數(shù)轉(zhuǎn)型為數(shù)字,如果轉(zhuǎn)型后的值為0,說明原來的字符串為空;如果轉(zhuǎn)型后的數(shù)字為NaN,說明原來的字符串不是純數(shù)字字符串。都給出相應(yīng)提示,如果是純數(shù)字字符串則執(zhí)行6
6.將轉(zhuǎn)型后的數(shù)值轉(zhuǎn)為String類型,先判斷數(shù)值的長度是否合法,不合法給出提示,合法執(zhí)行7
7.判斷數(shù)值的整數(shù)位是否符合Number類型所定義的,大于最小值小于等于最大值,如果合法執(zhí)行8,不合法給出提示;
8,判斷小數(shù)位,利用substring()函數(shù),如果合法則return true;反之則給出相應(yīng)的錯(cuò)誤提示。
實(shí)現(xiàn)代碼:
//校驗(yàn)number(4,1)
function check(v){
var str = mini.get(v).getValue();
//非空
if(str!=null && str.length>0){
str = str.trim();//去掉空格
if(str.substring(0,1)=="." || str.substring(str.length-1)=="."){
mini.alert("請輸入有效的數(shù)值");
return false;
}
//排除Boolean值
if(str==true||str==false){
mini.alert("請輸入合法的數(shù)值");
return false;
}else {
var num = Number(str);//將字符串轉(zhuǎn)為數(shù)字類型
if(num == 0){//輸入的字符串為空
mini.alert("請輸入合法的值");
return false;
}else if(isNaN(num)==true){//輸入的為非數(shù)字型字符串
mini.alert("請輸入合法的值");
return false;
}else {//純數(shù)字字符
num = num.toString();
var numLenth = num.length;
if (numLenth >5) {
mini.alert("數(shù)值超過有效長度");
return false;
}else{//有效數(shù)字
var pointIndex = num.indexOf(".");
if (num.substring(0,pointIndex).length>3 || num.substring(0,pointIndex).length<=0) {//整數(shù)部分必須在1-3位數(shù)字
mini.alert("整數(shù)部分有效數(shù)字長度超過有效范圍");
return false;
}else if(pointIndex>0){//判斷小數(shù)部分
if(num.substring(pointIndex).length>2 ||(num.substring(pointIndex).length==1)){
mini.alert("小數(shù)部分不是有效的");
return false;
}
}
}
}
}
}
return true;
}
以上所述是小編給大家介紹的JavaScript校驗(yàn)Number(4,1)格式的數(shù)字實(shí)例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- 詳解JS數(shù)值Number類型
- 在JSP中使用formatNumber控制要顯示的小數(shù)位數(shù)方法
- JS表單提交驗(yàn)證、input(type=number) 去三角 刷新驗(yàn)證碼
- js中Number數(shù)字?jǐn)?shù)值運(yùn)算后值不對的解決方法
- JavaScript基本類型值-Number類型
- 詳解js中Number()、parseInt()和parseFloat()的區(qū)別
- js中string和number類型互轉(zhuǎn)換技巧(分享)
- javascript中Number的方法小結(jié)
- JavaScript中Number對象的toFixed() 方法詳解
- Javascript之Number對象介紹
- JS求Number類型數(shù)組中最大元素方法
相關(guān)文章
深入理解JavaScript中實(shí)例對象和new命令
典型的面向?qū)ο缶幊陶Z言(比如C++和 Java),都有“類”(class)這個(gè)概念。所謂“類”就是對象的模板,對象就是“類”的實(shí)例,下面這篇文章主要給大家介紹了關(guān)于JavaScript中實(shí)例對象和new命令的相關(guān)資料,需要的朋友可以參考下2022-12-12
js實(shí)現(xiàn)無縫循環(huán)滾動(dòng)
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)無縫循環(huán)滾動(dòng)的具體代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08
JavaScript動(dòng)態(tài)修改背景顏色的方法
這篇文章主要介紹了JavaScript動(dòng)態(tài)修改背景顏色的方法,涉及javascript操作鼠標(biāo)事件及樣式的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
原生JavaScript和Vue實(shí)現(xiàn)從百度地圖抓取經(jīng)緯度
在前端開發(fā)中,使用百度地圖 API 來獲取用戶的經(jīng)緯度是一種常見需求,本文提供了使用原生 JavaScript 和 Vue.js 實(shí)現(xiàn)從百度地圖抓取經(jīng)緯度的詳細(xì)示例,需要的可以了解下2024-11-11
一文詳解Canvas實(shí)現(xiàn)打飛字游戲過程示例
這篇文章主要為大家介紹了Canvas實(shí)現(xiàn)打飛字游戲示例過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
純?JS?實(shí)現(xiàn)的輕量化圖片編輯器實(shí)例詳解
這篇文章主要為大家介紹了純JS實(shí)現(xiàn)的輕量化圖片編輯器實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
JavaScript?進(jìn)階問題列表(各種js代碼段1-65)
從基礎(chǔ)到進(jìn)階,測試你有多了解?JavaScript,刷新你的知識,或者幫助你的?coding?面試!?:muscle:?:rocket:?我每周都會(huì)在這個(gè)倉庫下更新新的問題2024-11-11

