zoukankan      html  css  js  c++  java
  • js的相关函数封装(正则表达式,获取url参数,时间格式化)

    一:// 验证中文名称
    function isChinaName(name) {
      var pattern = /^[u4E00-u9FA5]{1,6}$/
      return pattern.test(name)
    }
    // 验证手机号和固定电话
    function isPhoneOrTel(phoneOrTel) {
      var pattern = /^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))d{8}$|^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))d{8}$|^0d{2,3}-?d{7,8}$/ //^(/d{3,4}-)?/d{7,8})$|(13[0-9]{9}
      return pattern.test(phoneOrTel)
    }
    // 验证手机号
    function isPhone(phone) {
      var pattern = /^((1[3,5,8][0-9])|(14[5,7])|(17[0,6,7,8])|(19[7]))d{8}$/
      return pattern.test(phone)
    }
    // 验证固定电话
    function isTel(tel) {
      var pattern = /(^(0d{2})-(d{8})$)|(^(0d{3})-(d{7})$)|(^(0d{2})-(d{8})-(d+)$)|(^(0d{3})-(d{7})-(d+)$)/;
      return pattern.test(tel)
    }
    // 银行卡
    function isBankCard(bankCard) {
      var pattern = /^([1-9]{1})(d{14}|d{18})$/
      return pattern.test(bankCard)
    }
    // 验证身份证
    function isCardNo(card) {
      var pattern = /^[1-9]d{5}[1-9]d{3}((0[1-9])|(1[0-2]))((0[1-9])|([1-2]d)|(3[0-1]))((d{4})|(d{3}[Xx]))$/
      return pattern.test(card)
    }
    //邮箱正则校验
    function isEmail(email){
      var pattern=/^([a-zA-Z0-9]+[_|\_|.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|.]?)*[a-zA-Z0-9]+.[a-zA-Z]{2,3}$/;
      return pattern.test(email)
    }
    // 存储data
    function saveData(name, data) {
      if (!window.localStorage) {
        return false;
      } else {
        var storage = window.localStorage;
        var d = JSON.stringify(data);
        storage.setItem(name, d);
      }
    }

    二: //从url中获取参数值                 使用示例:var orderId = getValue(orderId);
    function getValue(name) {
    var reg = new RegExp("(^|\?|&)"+ name +"=([^&]*)(\s|&|$)", "i");
    if (reg.test(location.href.trim())) return unescape(RegExp.$2.replace(/+/g, " "));
    return "";
    }


    三: //时间格式化(注意:此封装的,必须要在调用之前加载)

    // 对Date的扩展,将 Date 转化为指定格式的String
    // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, 
    // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) 
    // 例子: 
    // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 
    // (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18 
    Date.prototype.Format = function (fmt) { //author: meizz 
        var o = {
            "M+": this.getMonth() + 1, //月份 
            "d+": this.getDate(), //日 
            "h+": this.getHours(), //小时 
            "m+": this.getMinutes(), //分 
            "s+": this.getSeconds(), //秒 
            "q+": Math.floor((this.getMonth() + 3) / 3), //季度 
            "S": this.getMilliseconds() //毫秒 
        };
        if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
        for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
        return fmt;
    }

    调用: 

    var time1 = new Date().Format("yyyy-MM-dd");
    var time2 = new Date().Format("yyyy-MM-dd HH:mm:ss");  
    认真是我们参与这个社会的方式,认真是我们改变这个社会的方式!
  • 相关阅读:
    顺时针打印二维矩阵
    hbase的rowKey设计原则
    关于这段时间学习 EntityFramework的 一点感悟
    一次排序序号的补充
    我的第一段jQuery代码
    非常郁闷的 .NET中程序集的动态加载
    关于EF6的记录Sql语句 与 EntityFramework.Extend 的诟病
    排序更改
    ZhyjEye 简介
    js数组去重的4个方法
  • 原文地址:https://www.cnblogs.com/mufengforward/p/8946551.html
Copyright © 2011-2022 走看看