前言
我们在开发系统时,数据的合法性校验是我们开发系统中最基本的一项功能。比如验证用户输入的邮箱是否合法,输入的手机号是否合法等,虽然现在很多前端插件已经有非常成熟的解决方案,但是对于一些没有使用插件的系统来说,我们还是需要使用原生的js去做校验判断,今天我就汇总了我们日常开发过程中常见的校验逻辑代码,希望对于大家有所帮助。
代码如下:
// JavaScript Document // _ooOoo_ // o8888888o // 88" . "88 // (| -_- |) // O\ = /O // ____/`---'\____ // . ' \\| |// `. // / \\||| : |||// \ // / _||||| -:- |||||- \ // | | \\\ - /// | | // | \_| ''\---/'' | | // \ .-\__ `-` ___/-. / // ___`. .' /--.--\ `. . __ // ."" '< `.___\_<|>_/___.' >'"". // | | : `- \`.;`\ _ /`;.`/ - ` : | | // \ \ `-. \_ __\ /__ _/ .-` / / // ======`-.____`-.___\_____/___.-`____.-'====== // `=---=' // // ............................................. // 佛祖保佑 永无BUG /** 【堆代码 duidaima.com】常用JS验证类库 **/ var Common={ /** * 检查输入字符串是否为空或者全部都是空格 * @param str 需要验证的字符串 * @return bool */ 'isNull' : function(str) { if ( str == "" ) return true; var reg_str = "^[ ]+$"; return reg_str.test(str); }, /** * 验证是否为合法的手机号 * @param mobile 手机号 * @param reg_exp [非必传]验证规则【因为电话号码的规则有可能改,所以这个是一个参数】 * @return bool */ 'isMobile' : function(mobile) { var reg_exp = arguments[1] ? arguments[1] : /^(((1[34578]{1}))+\d{9})$/; if (mobile.length == 0) { return false; } if (mobile.length != 11) { return false; } return reg_exp.test(mobile); }, /** * 验证是否是合法的邮箱 * @param email 邮箱地址 * @param reg_exp [非必传]验证规则【如果有特殊需求,可以自定义规则】 * @return bool */ 'isEmail' : function(email) { var reg_exp = arguments[1] ? arguments[1] : /^([\.a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/; if (email.length == 0) { return false; } return reg_exp.test(email); }, /** * 验证是否是合法的固定电话 * @param phone 固定电话 * @return bool */ 'isPhone' : function(phone) { var reg_exp = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/; if (phone == "") { return false; } return reg_exp.test(phone); }, /** * 验证是否是邮编 * @param postcode 邮编 * @return bool */ 'isPostcode' : function(postcode) { var reg_exp = /^\d{6}$/; if (postcode == "") { return false; } return reg_exp.test(postcode); }, /** * 验证是由0-9组成的数字不能有小数点 * @param number 数字 * @return bool */ 'isNumber' : function(number) { var reg_exp = /^[0-9]+$/; if (number == "") { return false; } return reg_exp.test(number); }, /** * 验证是由0-9组成的数字可以能有小数点并且保留2位 * @param double_number 数字 * @return bool */ 'isDoubleNumber' : function(double_number) { var reg_exp = /^[0-9]+(\.\d{2})?$/; if (double_number == "") { return false; } return reg_exp.test(double_number); }, /** * 验证是否是中文 * @param str 字符串 * @return bool */ 'isChinese' : function(str) { var reg_exp = /^[\u0391-\uFFE5]+$/; if (str == "") { return false; } return reg_exp.test(str); } };总结:
以上就是我们基于js的常见数据合法性判断逻辑,核心还是依据正则表达式验证输入的数据是正确,代码比较简单,仅供大家参考。