JavaScript校驗Number(4,1)格式的數(shù)字實例代碼
項目里面有個錄入,需要數(shù)字格式進行校驗,前端使用的是miniUI框架,miniUI文檔里面自帶了校驗,vtype="float",校驗浮點數(shù)的,但是它不能做到校驗這個浮點數(shù)有幾位整數(shù)和幾位小數(shù),所以就有必要重寫寫一個js函數(shù)來校驗:
實現(xiàn)思路:
1.獲取所填寫的值
2.判斷是否為空,不為空執(zhí)行3
3.對字符串trim()去空格,并且判斷以”.”開始或者結尾的都不是合法的數(shù)字,給出提示。
4.提前判斷字符串是否是true或者false,因為下面要使用Number函數(shù),它可以把true和false轉為1和0,所以需要在使用之前作判斷,如果字符串是這個則給出提示
5.對字符串使用Number函數(shù)轉型為數(shù)字,如果轉型后的值為0,說明原來的字符串為空;如果轉型后的數(shù)字為NaN,說明原來的字符串不是純數(shù)字字符串。都給出相應提示,如果是純數(shù)字字符串則執(zhí)行6
6.將轉型后的數(shù)值轉為String類型,先判斷數(shù)值的長度是否合法,不合法給出提示,合法執(zhí)行7
7.判斷數(shù)值的整數(shù)位是否符合Number類型所定義的,大于最小值小于等于最大值,如果合法執(zhí)行8,不合法給出提示;
8,判斷小數(shù)位,利用substring()函數(shù),如果合法則return true;反之則給出相應的錯誤提示。
實現(xià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);//將字符串轉為數(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校驗Number(4,1)格式的數(shù)字實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- 詳解JS數(shù)值Number類型
- 在JSP中使用formatNumber控制要顯示的小數(shù)位數(shù)方法
- JS表單提交驗證、input(type=number) 去三角 刷新驗證碼
- js中Number數(shù)字數(shù)值運算后值不對的解決方法
- JavaScript基本類型值-Number類型
- 詳解js中Number()、parseInt()和parseFloat()的區(qū)別
- js中string和number類型互轉換技巧(分享)
- javascript中Number的方法小結
- JavaScript中Number對象的toFixed() 方法詳解
- Javascript之Number對象介紹
- JS求Number類型數(shù)組中最大元素方法
相關文章
原生JavaScript和Vue實現(xiàn)從百度地圖抓取經(jīng)緯度
在前端開發(fā)中,使用百度地圖 API 來獲取用戶的經(jīng)緯度是一種常見需求,本文提供了使用原生 JavaScript 和 Vue.js 實現(xiàn)從百度地圖抓取經(jīng)緯度的詳細示例,需要的可以了解下2024-11-11
JavaScript?進階問題列表(各種js代碼段1-65)
從基礎到進階,測試你有多了解?JavaScript,刷新你的知識,或者幫助你的?coding?面試!?:muscle:?:rocket:?我每周都會在這個倉庫下更新新的問題2024-11-11

