UNPKG

react-native-adaptive-utils

Version:

React-Native adaptive utils, contains various adaptation function.

75 lines (69 loc) 1.48 kB
/** * Verify tool */ /** * Valid cell phone number. * @param cellPhoneNumber * @returns {boolean} */ export function validPhone(cellPhoneNumber) { return RegExp( /^(0|86|17951)?(13[0-9]|15[012356789]|18[0-9]|14[57]|17[0-9]|19[0-9])[0-9]{8}$/ ).test(cellPhoneNumber); } /** * Valid email * @param mail * @returns {boolean} */ export function validEmail(mail) { return RegExp( /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/ ).test(mail); } /** * Valid Chinese person card. * @param cardNo * @returns {boolean} */ export function validCardNo(cardNo) { return RegExp(/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/).test(cardNo); } /** * Valid Chinese person card. * @param val * @param strNum * @returns {string} */ export function limitStr(val, strNum) { let re = ""; let strLength = val.length; let byteLength = val.replace(/[^x00-xff]/g, "**").length; if (byteLength <= strNum) return val; for (let i = 0, byteNum = 0; i < strLength; i++) { let byte = val.charAt(i); if (/[\x00-\xff]/.test(byte)) { byteNum += 1; } else { byteNum += 2; } if (byteNum <= strNum) { re += byte; } else { return re; } } } /** * Valid Chinese person card. * @param target * @returns {boolean} */ export function isImg(target) { let file = target.value(); if (file === "") { return false; } else { return /\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(file); } }