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ù),所以就有必要重寫(xiě)寫(xiě)一個(gè)js函數(shù)來(lái)校驗(yàn):
實(shí)現(xiàn)思路:
1.獲取所填寫(xiě)的值
2.判斷是否為空,不為空?qǐng)?zhí)行3
3.對(duì)字符串trim()去空格,并且判斷以”.”開(kāi)始或者結(jié)尾的都不是合法的數(shù)字,給出提示。
4.提前判斷字符串是否是true或者false,因?yàn)橄旅嬉褂肗umber函數(shù),它可以把true和false轉(zhuǎn)為1和0,所以需要在使用之前作判斷,如果字符串是這個(gè)則給出提示
5.對(duì)字符串使用Number函數(shù)轉(zhuǎn)型為數(shù)字,如果轉(zhuǎn)型后的值為0,說(shuō)明原來(lái)的字符串為空;如果轉(zhuǎn)型后的數(shù)字為NaN,說(shuō)明原來(lái)的字符串不是純數(shù)字字符串。都給出相應(yīng)提示,如果是純數(shù)字字符串則執(zhí)行6
6.將轉(zhuǎn)型后的數(shù)值轉(zhuǎn)為String類(lèi)型,先判斷數(shù)值的長(zhǎng)度是否合法,不合法給出提示,合法執(zhí)行7
7.判斷數(shù)值的整數(shù)位是否符合Number類(lèi)型所定義的,大于最小值小于等于最大值,如果合法執(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("請(qǐng)輸入有效的數(shù)值"); return false; } //排除Boolean值 if(str==true||str==false){ mini.alert("請(qǐng)輸入合法的數(shù)值"); return false; }else { var num = Number(str);//將字符串轉(zhuǎn)為數(shù)字類(lèi)型 if(num == 0){//輸入的字符串為空 mini.alert("請(qǐng)輸入合法的值"); return false; }else if(isNaN(num)==true){//輸入的為非數(shù)字型字符串 mini.alert("請(qǐng)輸入合法的值"); return false; }else {//純數(shù)字字符 num = num.toString(); var numLenth = num.length; if (numLenth >5) { mini.alert("數(shù)值超過(guò)有效長(zhǎng)度"); 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ù)字長(zhǎng)度超過(guò)有效范圍"); 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í)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- 詳解JS數(shù)值Number類(lèi)型
- 在JSP中使用formatNumber控制要顯示的小數(shù)位數(shù)方法
- JS表單提交驗(yàn)證、input(type=number) 去三角 刷新驗(yàn)證碼
- js中Number數(shù)字?jǐn)?shù)值運(yùn)算后值不對(duì)的解決方法
- JavaScript基本類(lèi)型值-Number類(lèi)型
- 詳解js中Number()、parseInt()和parseFloat()的區(qū)別
- js中string和number類(lèi)型互轉(zhuǎn)換技巧(分享)
- javascript中Number的方法小結(jié)
- JavaScript中Number對(duì)象的toFixed() 方法詳解
- Javascript之Number對(duì)象介紹
- JS求Number類(lèi)型數(shù)組中最大元素方法
相關(guān)文章
帶領(lǐng)大家學(xué)習(xí)javascript基礎(chǔ)篇(一)之基本概念
這篇文章主要介紹了帶領(lǐng)大家學(xué)習(xí)javascript基礎(chǔ)篇(一)之基本概念的相關(guān)資料,需要的朋友可以參考下2015-11-11JavaScript判斷輸入是否為數(shù)字類(lèi)型的方法總結(jié)
這篇文章主要介紹了JavaScript判斷輸入是否為數(shù)字類(lèi)型的方法總結(jié)的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下2017-09-09JavaScript調(diào)用模式與this關(guān)鍵字綁定的關(guān)系
這篇文章主要介紹了JavaScript調(diào)用模式與this關(guān)鍵字綁定的關(guān)系 的相關(guān)資料,需要的朋友可以參考下2018-04-04Javascript圖片上傳前的本地預(yù)覽實(shí)例
圖片的上傳預(yù)覽功能主要用于圖片上傳前的一個(gè)效果的預(yù)覽,這篇文章主要介紹了Javascript圖片上傳前的本地預(yù)覽實(shí)例,需要的朋友可以參考下2014-06-06javascript用函數(shù)實(shí)現(xiàn)對(duì)象的方法
這篇文章主要介紹了javascript用函數(shù)實(shí)現(xiàn)對(duì)象的方法,涉及javascript函數(shù)使用技巧,需要的朋友可以參考下2015-05-05JS實(shí)現(xiàn)從對(duì)象獲取對(duì)象中單個(gè)鍵值的方法示例
這篇文章主要介紹了JS實(shí)現(xiàn)從對(duì)象獲取對(duì)象中單個(gè)鍵值的方法,涉及javascript數(shù)組對(duì)象遍歷、事件監(jiān)聽(tīng)、處理等相關(guān)操作技巧,需要的朋友可以參考下2019-06-06