JS數據處理(正則表達式)

小記:2018-06-15,  最近項目中用到的各種數據處理方式:判斷字符串是否使用科學計數法、是否爲整形、是否爲number、保留兩位小數

0、正則表達式

/*是否帶有小數*/
function    isDecimal(strValue )  {  
   var  objRegExp= /^\d+\.\d+$/;
   return  objRegExp.test(strValue);  
}  

/*校驗是否中文名稱組成 */
function ischina(str) {
    var reg=/^[\u4E00-\u9FA5]{2,4}$/;   /*定義驗證表達式*/
    return reg.test(str);     /*進行驗證*/
}

/*校驗是否全由8位數字組成 */
function isStudentNo(str) {
    var reg=/^[0-9]{8}$/;   /*定義驗證表達式*/
    return reg.test(str);     /*進行驗證*/
}

/*校驗電話碼格式 */
function isTelCode(str) {
    var reg= /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/;
    return reg.test(str);
}

/*校驗郵件地址是否合法 */
function IsEmail(str) {
    var reg=/^\w+@[a-zA-Z0-9]{2,10}(?:\.[a-z]{2,4}){1,3}$/;
    return reg.test(str);
}

1、判斷字符串是否爲科學技術法

function isE(data) {
            if (data.indexOf("E")) {
                return true;
            }
            else {
                return false;
            }

        }

2、判斷是否爲整形

function isInteger(obj) {
            return obj % 1 === 0

        }

3、浮點數保留兩位小數

function toDecimal2(x) {
            var f = parseFloat(x);
            if (isNaN(f)) {
                return false;
            }
            var f = Math.round(x * 100) / 100;
            var s = f.toString();
            var rs = s.indexOf('.');
            if (rs < 0) {
                rs = s.length;
                s += '.';
            }
            while (s.length <= rs + 2) {
                s += '0';
            }
            return s;

        }

4、判斷是否爲數字類型(由於這次的項目藉口穿回來的值可能是浮點數,開關量和字符串,所以爲了區別數字類型與開關量和字符串類型)

function isNumber(val) {
            var regPos = /^\d+(\.\d+)?$/; //非負浮點數
            var regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; //負浮點數
            if (regPos.test(val) || regNeg.test(val)) {
                return true;
            } else {
                return false;
            }
        }

本想在第二篇文章中寫一下上一篇文章中提到的url加密解密的方法,考慮到保密性我還是保存到自己的私密好了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章