常用自定义规则校验方法和git 常用命令
常用自定义校验规则(手机号码、空、身份证、邮箱、日期格式2008-08-08)
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 |
---|---|
command | git help <>中间填写文件名称 |
command | git <>中间填写文件名称 -h |
command | git <>中间填写文件名称 --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 |