常用自定义规则校验方法和git 常用命令

1创建一个校验规则的js文件,命名为validate.js,在文件中定义各种规则方法。

去除首尾空格
export function trimSpace (str) {
  try {
    return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '')
  } catch (e) {
    return str
  }
}
手机号码规则校验
// 手机号码校验
export function validateMobile(str) {
  if (!String(str && str.trim() || '')) return true; // 手机号码为空不校验
   const reg = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/
   return reg.test(str)
输入框输入不能为空校验
/**
 * 不能为空校验
 */
export function validateEmpty(str) {
  const reg = /^\s*$/
  return reg.test(str)
}
判断字符串是否是https?:|mailto:|tal: 开头的
/**
 * @description 判断字符串是否是https?:|mailto:|tal: 开头的
 * @param {string} path
 * @returns {Boolean}
 */
export function isExternal(path) {
  return /^(https?:|mailto:|tel:)/.test(path)
}
校验日期格式是否是’yyyy-mm-dd
* @description 校验日期格式是否是'yyyy-mm-dd'
 * @param {string} dateString 日期字符串
 * @returns {arg is any[]|boolean}
 */
export function isDate(dateString) {
  if (dateString.trim() == "") return false;
  //年月日正则表达式
  var r = dateString.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
  if (r == null) {
    // alert("请输入格式正确的日期\n\r日期格式:yyyy-mm-dd\n\r例    如:2008-08-08\n\r");
    return false;
    var d = new Date(r[1], r[3] - 1, r[4]);
  var num = (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4]);
  if (num == 0) {
  }
    return false
    // alert("请输入格式正确的日期\n\r日期格式:yyyy-mm-dd\n\r例    如:2008-08-08\n\r");
  }
  return (num != 0);
身份证校验
/**
 * @description 判断字符串是否是https?:|mailto:|tal: 开头的
 * @param {string} path
 * @returns {Boolean}
 */
export function validateIdCard(str) {
  if (!String(str && str.trim() || '')) return true; // 为空不校验
    let reg = /^[1-9]\d{16}[\dX]$/
    return reg.test(str)
}
}
邮箱校验
/**
 * @description 判断字符串是否是https?:|mailto:|tal: 开头的
 * @param {string} path
 * @returns {Boolean}
 */
export function validateEmail(str) {
  if (!String(str && str.trim() || '')) return true; // 邮箱为空不校验
    const reg = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
    return reg.test(str);
}
//或
export function isPositiveEmail (val) {
  var reg = new RegExp('^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$')
  return reg.test(val)
}
密码规则校验(长度)
/**
 * @description 校验密码是否小于6位
 * @param str
 * @returns {boolean}
 */
export function isPassword(str) {
  return str.length >= 6
}
密码规则校验(复杂度+长度)
/**
 * @description 校验密码包含大小写字母,数字,特殊字符中任意三种10-16位密码
 * @param str
 * @returns {boolean}
 */
export function isPositivePassword (val) {
 var reg = new RegExp('^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\\W_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-z\\W_!@#$%^&*`~()-+=]+$)(?![0-9\\W_!@#$%^&*`~()-+=]+$)[a-zA-Z0-9\\W_!@#$%^&*`~()-+=]{10,16}$')
 return reg.test(val)
}

//输入限制不允许包含数字校验
export function validateName(str) {
  if (!String(str && str.trim() || '')) return true; // 为空不校验
    const reg = /^[^0-9]*$/
  return reg.test(str)
}

2.在对应的(文件中)输入框中使用这一校验规则

  • 校验密码复杂度和长度、邮箱

<el-form
              size="mini"
              ref="sendForm"
              :model="passwordForm"
              label-width="80px"
              :rules="rules"
            >
           		 <el-form-item label="原密码" prop="oldPassword">
	                  <el-input
	                    :type="oldPassType"
	                    v-model="passwordForm.oldPassword"
	                    placeholder="请输入原密码"
	                  >
	                    <i slot="suffix" @click="changeType" :class="imgClass"></i>
                  </el-input>
                </el-form-item>
                 <el-form-item label="邮箱" prop="email">
                  <el-input v-model="passwordForm.email" placeholder="请输入邮箱"></el-input>
                </el-form-item>
</el-form>
//Vue中data中定义
//进行引入使用
import { isPositiveEmail, trimSpace, isPositivePassword } from '../../utils/validate.js'

// 校验密码长度 字符、邮箱校验
export default {
data(){
//密码规则
    var validateBlurPassword = (rule, value, callback) => {
      if (value.length < 10) {
       callback(new Error('请输入含有数字、大小写字母、特殊字符中的任意三种的10-16位密码'))
      }
      if (value.length > 16) {
       callback(new Error('请输入含有数字、大小写字母、特殊字符中的任意三种的10-16位密码'))
      }
      if (!isPositivePassword(trimSpace(value))) {
      callback(new Error('请输入含有数字、大小写字母、特殊字符中的任意三种的10-16位密码'))
      } else {
        callback()
      }
    }
    //邮箱规则
    var validateUser = (rule, value, callback) => {
      if (value === undefined || trimSpace(value) === '') {
        callback(new Error('该输入项为必输项'))
      }else {
        if (!isPositiveEmail(trimSpace(value))) {
          callback(new Error('请输入正确的邮箱'))
        } else {
          callback()
        }
      }
    }
    
    return {
    rules:{
    rules: {
        oldPassword: [
			          { required: true, message: '该输入项为必输项', trigger: 'blur' },
			           { validator: validateBlurPassword, trigger: 'blur' }
       				 ],
          email: [
			          { required: true, message: '该输入项为必输项', trigger: 'blur' },
			          { validator: validateUser, trigger: 'blur' },
        		 ],
			        
       	}
    }
    }
}
  • 限制输入不允许有数字校验、手机号码规则校验
import { validateMobile,validateName } from '@/utils/validate'
<div>
	 <van-field
	          required
	          size="large"
	          label-width="130"
	          v-model="form.contactName"
	          name="contactName"
	          label="紧急联系人姓名"
	          placeholder="紧急联系人姓名"
	
	          :rules="[{ required: true, message: '请输入紧急联系人姓名' },
	           {
	              required: true,
	              validator: validatorNames,
	              message: '请输入正确的姓名,非数字',
	            },]"
        />
         <van-field
	          required
	          label-width="130"
	          v-model="form.contactMobile"
	          name="contactMobile"
	          label="紧急联系人电话"
	          placeholder="紧急联系人电话"
	          :rules="[
	            {
	              required: true,
	              validator: validatorPhone,
	              message: '请输入紧急联系人电话',
	            },
	          ]"
          />
           <van-field
		          required
		          label-width="110"
		          v-model="form.birthDate"
		          name="birthDate"
		          label="出生日期"
		          placeholder="请选择"
		          size="large"
		           @click="showBirthDate = true"
		          :rules="[
		            {
		              required: true,
		            },
		            {
		              validator: validatorDate,
		               message:
		                '请输入格式正确的日期\n\r日期格式:yyyy-mm-dd\n\r例    如:2008-08-08\n\r',
		            },
		          ]"
        />

</div>
export default {
  methods: {
   // 校验函数返回 true 表示校验通过,false 表示不通过(手机号)
    validatorPhone(val) {
      return validateMobile(val)
    },
      // 姓名校验 true 表示校验通过,false 表示不通过(不包含数字)
    validatorNames(val) {
      return validateName(val)
    },
    //日期格式校验
     validatorDate(val) {
      return isDate(val)
    },
  		}
}

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

// An highlighted block
var foo = 'bar';

git常用命令

查看某个文件的命令:

项目test
commandgit help <>中间填写文件名称
commandgit <>中间填写文件名称 -h
commandgit <>中间填写文件名称 --help

基础命令:

项目test
初始化仓库git init
状态跟踪git status
跟踪所有文件git add.
暂存更改git add.
提交到本地(从暂存区提交 -m"注释”)git acommit -m “修改*”
从工作区提交git commit -a -m ‘full commit’
查看提交记录git log

分支操作

项目test
创建分支git branch 分支名称
删除分支git branch -d 分支名称
显示所有分支名称git branch -v
合并分支git merge 分支名称
推送到远程git push
查看远程仓库信息git remote -v
获取远程仓库的提交记录git fetch
克隆一个远程仓库作为本地仓库git clone