Commit f69658e6 authored by 吴冠's avatar 吴冠

正则

parent ac2c7888
<template> <template>
<div class="form flex-colunm"> <div class="form flex-colunm">
<el-steps :active="active" finish-status="success" style="width: 4.8rem;"> <el-steps :active="active" finish-status="success" style="width: 4.8rem">
<el-step title="注册账户"></el-step> <el-step title="注册账户"></el-step>
<el-step title="完善信息"></el-step> <el-step title="完善信息"></el-step>
<el-step title="审核"></el-step> <el-step title="审核"></el-step>
</el-steps> </el-steps>
<!-- 注册 --> <!-- 注册 -->
<div class="register" v-if="active==1"> <div class="register" v-if="active == 1">
<div class="company"> <div class="company">
<h4>单位信息</h4> <h4>单位信息</h4>
<el-form ref="form" :model="form" label-width="1.4rem" :rules="rules"> <el-form ref="form" :model="form" label-width="1.4rem" :rules="rules">
<el-form-item label="单位名称" prop="companyName" class="item"> <el-form-item label="单位名称" prop="companyName" class="item">
<el-input v-model="form.companyName" placeholder="请输入单位名称" style="width:2.4rem" maxlength="30" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input> <el-input
v-model="form.companyName"
placeholder="请输入单位名称"
style="width: 2.4rem"
maxlength="30"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="区域选择" prop="local" class="item"> <el-form-item label="区域选择" prop="local" class="item">
<citySelect @sendprovinceId="getprovinceId" @sendcityId="getcityId" @senddistrictId="getdistrictId"></citySelect> <citySelect
@sendprovinceId="getprovinceId"
@sendcityId="getcityId"
@senddistrictId="getdistrictId"
></citySelect>
</el-form-item> </el-form-item>
<el-form-item label="注册角色" prop="type" class="item"> <el-form-item label="注册角色" prop="type" class="item">
<el-select v-model="form.type" placeholder="请输入选择"> <el-select v-model="form.type" placeholder="请输入选择">
...@@ -24,29 +39,113 @@ ...@@ -24,29 +39,113 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<h4>管理员信息</h4> <h4>管理员信息</h4>
<el-form ref="adminform" :model="adminform" label-width="1.4rem" :rules="rules"> <el-form
ref="adminform"
:model="adminform"
label-width="1.4rem"
:rules="rules"
>
<el-form-item label="管理员姓名" prop="name" class="item"> <el-form-item label="管理员姓名" prop="name" class="item">
<el-input v-model="adminform.name" placeholder="请输入" style="width:2.4rem" maxlength="30" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input> <el-input
v-model="adminform.name"
placeholder="请输入"
style="width: 2.4rem"
maxlength="30"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="身份证" prop="idNumber" class="item"> <el-form-item label="身份证" prop="idNumber" class="item">
<el-input v-model="adminform.idNumber" placeholder="请输入" style="width:2.4rem" maxlength="18" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input> <el-input
v-model="adminform.idNumber"
placeholder="请输入"
style="width: 2.4rem"
maxlength="18"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="密码" prop="password" class="item"> <el-form-item label="密码" prop="password" class="item">
<el-input v-model="adminform.password" placeholder="8-16位数字字母组合" style="width:2.4rem" minlength="8" maxlength="16" type="password" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input> <el-input
v-model="adminform.password"
placeholder="8-16位数字字母组合"
style="width: 2.4rem"
minlength="8"
maxlength="16"
type="password"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
<!-- <div class="password-tips">密码需由8-16位数字字母组合</div> --> <!-- <div class="password-tips">密码需由8-16位数字字母组合</div> -->
</el-form-item> </el-form-item>
<el-form-item label="确认密码" prop="isPassword" class="item"> <el-form-item label="确认密码" prop="isPassword" class="item">
<el-input v-model="adminform.isPassword" placeholder="请输入" style="width:2.4rem" minlength="8" maxlength="16" type="password" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input> <el-input
v-model="adminform.isPassword"
placeholder="请输入"
style="width: 2.4rem"
minlength="8"
maxlength="16"
type="password"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="电子邮箱" prop="email" class="item"> <el-form-item label="电子邮箱" prop="email" class="item">
<el-input v-model="adminform.email" placeholder="请输入" maxlength="20" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input> <el-input
v-model="adminform.email"
placeholder="请输入"
maxlength="20"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="手机号" prop="phonenumber" class="item"> <el-form-item label="手机号" prop="phonenumber" class="item">
<el-input v-model="adminform.phonenumber" placeholder="请输入" maxlength="11" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input> <el-input
v-model="adminform.phonenumber"
placeholder="请输入"
maxlength="11"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item> </el-form-item>
<div class="getcode"> <div class="getcode">
<el-form-item label="验证码" prop="code" class="item"> <el-form-item label="验证码" prop="code" class="item">
<el-input v-model="adminform.code" placeholder="请输入验证码" style="width:1.55rem" maxlength="4" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input> <el-input
v-model="adminform.code"
placeholder="请输入验证码"
style="width: 1.55rem"
maxlength="4"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item> </el-form-item>
<div class="code" @click="refreshCode"> <div class="code" @click="refreshCode">
<!-- :fresh:父组件向子组件传送刷新验证码的信号; <!-- :fresh:父组件向子组件传送刷新验证码的信号;
...@@ -56,7 +155,18 @@ ...@@ -56,7 +155,18 @@
</div> </div>
<div class="getphonecode"> <div class="getphonecode">
<el-form-item label="短信验证码" prop="phonecode" class="item"> <el-form-item label="短信验证码" prop="phonecode" class="item">
<el-input v-model="adminform.phonecode" placeholder="请输入短信验证码" style="width:2.4rem" maxlength="4" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input> <el-input
v-model="adminform.phonecode"
placeholder="请输入短信验证码"
style="width: 2.4rem"
maxlength="4"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item> </el-form-item>
<div class="phonecode" @click="getMessagecode">获取短信验证码</div> <div class="phonecode" @click="getMessagecode">获取短信验证码</div>
</div> </div>
...@@ -65,7 +175,7 @@ ...@@ -65,7 +175,7 @@
<el-checkbox v-model="checked" class="t1">同意《注册协议》</el-checkbox> <el-checkbox v-model="checked" class="t1">同意《注册协议》</el-checkbox>
</div> </div>
<!-- 完善 --> <!-- 完善 -->
<div class="perfect content" v-if="active==0"> <div class="perfect content" v-if="active == 0">
<div class="flex-between perfect-head"> <div class="flex-between perfect-head">
<div class="t2 flex"> <div class="t2 flex">
<div>单位名称:</div> <div>单位名称:</div>
...@@ -79,143 +189,300 @@ ...@@ -79,143 +189,300 @@
<div>行政区域:</div> <div>行政区域:</div>
<div>浙江省 杭州市 滨江区</div> <div>浙江省 杭州市 滨江区</div>
</div> </div>
</div> </div>
<el-form ref="perfectForm" :model="perfectForm" label-width="1.8rem" :rules="rules"> <el-form
ref="perfectForm"
:model="perfectForm"
label-width="1.8rem"
:rules="rules"
>
<div class="flex-between"> <div class="flex-between">
<el-form-item label="法人姓名" prop="legalPersonName" class="item"> <el-form-item label="法人姓名" prop="legalPersonName" class="item">
<el-input v-model="perfectForm.legalPersonName" placeholder="请输入" style="width:2.4rem" maxlength="30" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input> <el-input
v-model="perfectForm.legalPersonName"
placeholder="请输入"
style="width: 2.4rem"
maxlength="30"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="法人电话" prop="legalPersonPhone" class="item"> <el-form-item label="法人电话" prop="legalPersonPhone" class="item">
<el-input v-model="perfectForm.legalPersonPhone" placeholder="请输入" style="width:2.4rem" maxlength="11" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input> <el-input
v-model="perfectForm.legalPersonPhone"
placeholder="请输入"
style="width: 2.4rem"
maxlength="11"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="统一社会信用代码" prop="socialCode" class="item"> <el-form-item label="统一社会信用代码" prop="socialCode" class="item">
<el-input v-model="perfectForm.socialCode" placeholder="请输入" style="width:2.4rem" maxlength="18" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input > <el-input
v-model="perfectForm.socialCode"
placeholder="请输入"
style="width: 2.4rem"
maxlength="18"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div class="flex-between"> <div class="flex-between">
<el-form-item label="单位性质" prop="companyNature" class="item"> <el-form-item label="单位性质" prop="companyNature" class="item">
<el-select v-model="perfectForm.companyNature" placeholder="请选择"> <el-select v-model="perfectForm.companyNature" placeholder="请选择">
<el-option v-for="item in companyNatures" :key="item.id" :label="item.name" :value="item.id"> <el-option
v-for="item in companyNatures"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="单位所在地" prop="location" class="item"> <el-form-item label="单位所在地" prop="location" class="item">
<el-input v-model="perfectForm.location" placeholder="请输入" style="width:2.4rem" maxlength="30" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input > <el-input
v-model="perfectForm.location"
placeholder="请输入"
style="width: 2.4rem"
maxlength="30"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="行业类型" prop="industryType" class="item"> <el-form-item label="行业类型" prop="industryType" class="item">
<el-select v-model="perfectForm.industryType" placeholder="请选择"> <el-select v-model="perfectForm.industryType" placeholder="请选择">
<el-option v-for="item in belongTypes" :key="item.id" :label="item.name" :value="item.id"> <el-option
v-for="item in belongTypes"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</div> </div>
<div class="flex-between"> <div class="flex-between">
<el-form-item label="开户银行名称" prop="bankName" class="item"> <el-form-item label="开户银行名称" prop="bankName" class="item">
<el-input v-model="perfectForm.bankName" placeholder="请输入" style="width:2.4rem" maxlength="30" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input> <el-input
v-model="perfectForm.bankName"
placeholder="请输入"
style="width: 2.4rem"
maxlength="30"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="结算账号" prop="bankAccount" class="item"> <el-form-item label="结算账号" prop="bankAccount" class="item">
<el-input v-model="perfectForm.bankAccount" placeholder="请输入" style="width:2.4rem" minlength="12" maxlength="30" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input> <el-input
v-model="perfectForm.bankAccount"
placeholder="请输入"
style="width: 2.4rem"
minlength="12"
maxlength="30"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="结算账号名" prop="bankAccountName" class="item"> <el-form-item label="结算账号名" prop="bankAccountName" class="item">
<el-input v-model="perfectForm.bankAccountName" placeholder="请输入" style="width:2.4rem" minlength="2" maxlength="30" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input> <el-input
v-model="perfectForm.bankAccountName"
placeholder="请输入"
style="width: 2.4rem"
minlength="2"
maxlength="30"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div class="flex-between" style="width: 60%;"> <div class="flex-between" style="width: 60%">
<el-form-item label="注册资本(万元)" prop="registeredCapital" class="item"> <el-form-item
<el-input v-model="perfectForm.registeredCapital" placeholder="请输入" style="width:2.4rem" maxlength="10" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input> label="注册资本(万元)"
prop="registeredCapital"
class="item"
>
<el-input
v-model="perfectForm.registeredCapital"
placeholder="请输入"
style="width: 2.4rem"
maxlength="10"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="联系地址" prop="contactAddress" class="item"> <el-form-item label="联系地址" prop="contactAddress" class="item">
<el-input v-model="perfectForm.contactAddress" placeholder="请输入" style="width:2.4rem" minlength="4" maxlength="30" @keyup.native="$event.target.value = $event.target.value.replace(/^\s+|\s+$/gm,'')"></el-input> <el-input
v-model="perfectForm.contactAddress"
placeholder="请输入"
style="width: 2.4rem"
minlength="4"
maxlength="30"
@keyup.native="
$event.target.value = $event.target.value.replace(
/^\s+|\s+$/gm,
''
)
"
></el-input>
</el-form-item> </el-form-item>
</div> </div>
<el-form-item label="经营范围" prop="businessScope" class="item"> <el-form-item label="经营范围" prop="businessScope" class="item">
<el-input type="textarea" :rows="2" v-model="perfectForm.businessScope" placeholder="请输入" style="width:2.4rem" maxlength="300"></el-input> <el-input
type="textarea"
:rows="2"
v-model="perfectForm.businessScope"
placeholder="请输入"
style="width: 2.4rem"
maxlength="300"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="法人身份证正反面" prop="identity" class="item"> <el-form-item label="法人身份证正反面" prop="identity" class="item">
<imgUpload :limit="1" :max="10" @input="getJustimg" tip=""></imgUpload> <imgUpload
<imgUpload :limit="1" :max="10" @input="getBackimg" tip=""></imgUpload> :limit="1"
:max="10"
@input="getJustimg"
tip=""
></imgUpload>
<imgUpload
:limit="1"
:max="10"
@input="getBackimg"
tip=""
></imgUpload>
</el-form-item> </el-form-item>
<el-form-item label="三证合一扫描件" prop="cardimg" class="item"> <el-form-item label="三证合一扫描件" prop="cardimg" class="item">
<imgUpload :limit="3" :max="10" @input="getCardimg" tip="只可上传三张图片,大小不能超过10MB,此项为必填项"></imgUpload> <imgUpload
:limit="3"
:max="10"
@input="getCardimg"
tip="只可上传三张图片,大小不能超过10MB,此项为必填项"
></imgUpload>
</el-form-item> </el-form-item>
<el-form-item prop="file" class="item" margin-left="-1.8rem"> <el-form-item prop="file" class="item" margin-left="-1.8rem">
<div class="else"> <div class="else">
<div>其他资料 <span class="red">用于上传其他证明性材料如法人变更证明,报名资料请勿在此上传,单个附件建议不超过2M。</span> </div> <div>
其他资料
<span class="red"
>用于上传其他证明性材料如法人变更证明,报名资料请勿在此上传,单个附件建议不超过2M。</span
>
</div>
</div> </div>
<Upload :limit="5" :max="10" @input="getfile" tip="支持扩展名:.rar .zip .doc .docx .pdf .jpg..."></Upload> <Upload
:limit="5"
:max="10"
@input="getfile"
tip="最多上传五份文件,每份不超过10M"
></Upload>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<!-- 审核结果 --> <!-- 审核结果 -->
<div class="result flex-center" v-if="active==2"> <div class="result flex-center" v-if="active == 2">
<div v-show="result==0"> <div v-show="result == 0">
<h4>您的注册申请已提交,请耐心等待平台管理员审核</h4> <h4>您的注册申请已提交,请耐心等待平台管理员审核</h4>
<h5> <h5>
温馨提示 <br> 温馨提示 <br />
1.审核后,您注册填写的手机号讲收到短信提醒 <br> 1.审核后,您注册填写的手机号讲收到短信提醒 <br />
2.您可以登录系统查看审核进度 <br> 2.您可以登录系统查看审核进度 <br />
3.若超过一天未审核,请致电400-400-400咨询 <br> 3.若超过一天未审核,请致电400-400-400咨询 <br />
</h5> </h5>
</div> </div>
<div v-show="result==1"> <div v-show="result == 1">
<h4>您已通过平台审核!</h4> <h4>您已通过平台审核!</h4>
</div> </div>
<div v-show="result==2"> <div v-show="result == 2">
<h4 style="color:red">对不起,您没有通过审核!</h4> <h4 style="color: red">对不起,您没有通过审核!</h4>
<h5 style="color:#000000">拒绝原因:身份证信息作假</h5> <h5 style="color: #000000">拒绝原因:身份证信息作假</h5>
</div> </div>
</div> </div>
<button @click="next" class="t2 nextButton" v-if="active==0||active==1">下一步</button> <button
<button @click="back" class="t2 nextButton" v-if="active==2">回到首页</button> @click="next"
class="t2 nextButton"
v-if="active == 0 || active == 1"
>
下一步
</button>
<button @click="back" class="t2 nextButton" v-if="active == 2">
回到首页
</button>
</div> </div>
</template> </template>
<script> <script>
import { import {
industryList, industryList,
getVerify, getVerify,
sendSms, sendSms,
verifyPhone, verifyPhone,
companyNatureList, companyNatureList,
checkAccount checkAccount,
} from '~/api/common/list'; } from "~/api/common/list";
import { import { register } from "~/api/bid/login";
register import Upload from "~/components/Upload/Upload";
} from '~/api/bid/login' import imgUpload from "~/components/Upload/imgUpload";
import Upload from '~/components/Upload/Upload'; import Identify from "~/components/identify";
import imgUpload from '~/components/Upload/imgUpload'; import citySelect from "~/components/citySelect";
import Identify from '~/components/identify'; /* import {validateRealName} from '../../utils/validate.js' */
import citySelect from '~/components/citySelect'; export default {
export default {
components: { components: {
Identify, Identify,
citySelect, citySelect,
Upload, Upload,
imgUpload imgUpload,
}, },
data() { data() {
// 测试省份 // 测试省份
let islocal = (rule, value, callback) => { let islocal = (rule, value, callback) => {
console.log("1") console.log("1");
if (!this.form.provinceId) { if (!this.form.provinceId) {
callback(new Error('请选择省份')); callback(new Error("请选择省份"));
} else if (!this.form.cityId) { } else if (!this.form.cityId) {
callback(new Error('请选择市')); callback(new Error("请选择市"));
} else if (!this.form.districtId) { } else if (!this.form.districtId) {
callback(new Error('请选择区')); callback(new Error("请选择区"));
} else { } else {
callback(); callback();
} }
} };
// 测试正反图片是否上传 // 测试正反图片是否上传
let checkidentity = (rule, value, callback) => { let checkidentity = (rule, value, callback) => {
if (this.justimg.length === 0) { if (this.justimg.length === 0) {
callback(new Error('请上传正面照片')); callback(new Error("请上传正面照片"));
} else if (this.backimg.length === 0) { } else if (this.backimg.length === 0) {
callback(new Error('请上传反面照片')); callback(new Error("请上传反面照片"));
} else { } else {
callback(); callback();
} }
...@@ -223,48 +490,46 @@ ...@@ -223,48 +490,46 @@
// 测试三证合一是否上传 // 测试三证合一是否上传
let checkcardimg = (rule, value, callback) => { let checkcardimg = (rule, value, callback) => {
if (this.cardimg.length === 0) { if (this.cardimg.length === 0) {
callback(new Error('请上传三证合一')); callback(new Error("请上传三证合一"));
} else { } else {
callback(); callback();
} }
}; };
// 修改密码验证二次是否输入相同 // 修改密码验证二次是否输入相同
let validate = (rule, value, callback) => { let validate = (rule, value, callback) => {
if (value === '') { if (value === "") {
callback(new Error('请输入密码')); callback(new Error("请输入密码"));
} else { } else {
if (this.adminform.isPassword !== '') { if (this.adminform.isPassword !== "") {
this.$refs.adminform.validateField('isPassword'); this.$refs.adminform.validateField("isPassword");
} }
callback(); callback();
} }
}; };
let validate2 = (rule, value, callback) => { let validate2 = (rule, value, callback) => {
if (value === '') { if (value === "") {
callback(new Error('请再次输入密码')); callback(new Error("请再次输入密码"));
} else if (value !== this.adminform.password) { } else if (value !== this.adminform.password) {
callback(new Error('两次输入密码不一致!')); callback(new Error("两次输入密码不一致!"));
} else { } else {
callback(); callback();
} }
}; };
let checkPhone = async (rule, value, callback) => { let checkPhone = async (rule, value, callback) => {
if (!value) { if (!value) {
return callback(new Error('手机号不能为空')); return callback(new Error("手机号不能为空"));
} else { } else {
const reg = /^1[3|4|5|7|8][0-9]\d{8}$/ const reg = /^1[3|4|5|7|8][0-9]\d{8}$/;
console.log(reg.test(value)); console.log(reg.test(value));
if (reg.test(value)) { if (reg.test(value)) {
const { const { code } = await checkAccount(value);
code
} = await checkAccount(value)
if (code === 200) { if (code === 200) {
callback(); callback();
}else{ } else {
return callback(new Error('手机号重复')); return callback(new Error("手机号重复"));
} }
} else { } else {
return callback(new Error('请输入正确的手机号')); return callback(new Error("请输入正确的手机号"));
} }
} }
}; };
...@@ -282,16 +547,120 @@ ...@@ -282,16 +547,120 @@
// } // }
// } // }
// }; // };
var validateTitle = (rule, value, callback) => { //名字校验
const reg = reg.replace(/\s*/g,"") let validateRealName = (rule, value, callback) => {
if (!reg.test(value)) { const realnameReg = /^[\u4e00-\u9fa5]{1,30}$/;
callback(new Error('只允许填写汉字、字母、下划线')) setTimeout(() => {
if (!realnameReg.test(value)) {
var reg = new RegExp("[^\u4e00-\u9fa5]{1,30}");
let a = value.replace(reg, "");
this.perfectForm.legalPersonName = a;
this.form.companyName = a;
this.perfectForm.location = a;
this.adminform.name = a;
this.perfectForm.bankAccountName = a;
this.perfectForm.bankName = a;
this.perfectForm.contactAddress = a;
return callback(new Error("您的输入有误,请重新输入!"));
} else {
callback();
}
}, 1000);
};
//电话号校验
let validateRealPhone = (rule, value, callback) => {
const realnameReg = /^[1][3,4,5,7,8][0-9]{9}$/;
setTimeout(() => {
if (!realnameReg.test(value)) {
var reg = new RegExp(
"^[023456789A-z。?!,、 ; : “ ” ‘ ’ ( ) 《 》 〈 〉 【 】 『 』 「 」 ﹃ ﹄ 〔 〕 … — ~ ﹏ ¥.]"
);
let a = value.replace(reg, "");
console.log(a + "--------------");
this.perfectForm.legalPersonPhone = a;
this.adminform.phonenumber = a;
return callback(new Error("您的输入有误,请重新输入!"));
} else { } else {
callback() callback();
} }
}, 1000);
};
//身份证号校验
let validateRealId = (rule, value, callback) => {
const realnameReg = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;
setTimeout(() => {
if (!realnameReg.test(value)) {
var reg = new RegExp(
"^[A-z。?!,、 ; : “ ” ‘ ’ ( ) 《 》 〈 〉 【 】 『 』 「 」 ﹃ ﹄ 〔 〕 … — ~ ﹏ ¥.]"
);
let a = value.replace(reg, "");
console.log(a + "--------------");
this.adminform.idNumber = a;
return callback(new Error("您的输入有误,请重新输入!"));
} else {
callback();
} }
}, 1000);
};
//统一社会代码
let validateRealSHid = (rule, value, callback) => {
const realnameReg = /^[_IOZSVa-z\W]{2}\d{6}[^_IOZSVa-z\W]{10}$/g;
setTimeout(() => {
if (!realnameReg.test(value)) {
var reg = new RegExp(
"^[a-z。?!,、 ; : “ ” ‘ ’ ( ) 《 》 〈 〉 【 】 『 』 「 」 ﹃ ﹄ 〔 〕 … — ~ ﹏ ¥.]"
);
let a = value.replace(reg, "");
console.log(a + "--------------");
this.perfectForm.socialCode = a;
return callback(new Error("您的输入有误,请重新输入!"));
} else {
callback();
}
}, 1000);
};
let validateRealLast = (rule, value, callback) => {
const realnameReg = /^([1-9]{1})(\d{14}|\d{18})$/;
setTimeout(() => {
if (!realnameReg.test(value)) {
var reg = new RegExp(
"^[a-z。?!,、 ; : “ ” ‘ ’ ( ) 《 》 〈 〉 【 】 『 』 「 」 ﹃ ﹄ 〔 〕 … — ~ ﹏ ¥.]"
);
let a = value.replace(reg, "");
this.perfectForm.bankAccount = a;
return callback(new Error("您的输入有误,请重新输入!"));
} else {
callback();
}
}, 1000);
};
let validateRealPrice = (rule, value, callback) => {
const realnameReg = /^[1-9]{1}[0-9]{9}|^[1-9]{1}[0-9]{6}\.[0-9]{1,2}/;
setInterval(() => {
if (!realnameReg.test(value)) {
var reg = new RegExp(
"^[A-z。?!,、 ; : “ ” ‘ ’ ( ) 《 》 〈 〉 【 】 『 』 「 」 ﹃ ﹄ 〔 〕 … — ~ ﹏ ¥]"
);
let a = value.replace(reg, "");
this.perfectForm.registeredCapital = a;
return callback(new Error("您的输入有误,请重新输入!"));
} else {
callback();
}
}, 1000);
}
/* this.flag = false
clearInterval(timer);
this.flag = true; */
return { return {
companyNatures:[], flag: true,
companyNatures: [],
files: [], files: [],
justimg: [], justimg: [],
backimg: [], backimg: [],
...@@ -300,26 +669,26 @@ ...@@ -300,26 +669,26 @@
result: "0", result: "0",
fileList: [], fileList: [],
flag: true, //该值变化,就会触发刷新 flag: true, //该值变化,就会触发刷新
code: '', //刷新后的验证码 code: "", //刷新后的验证码
active: 0, active: 0,
checked: false, checked: false,
adminform: { adminform: {
name: "", name: "",
idNumber: "", idNumber: "",
password: '', password: "",
isPassword: '', isPassword: "",
email: '', email: "",
phonenumber: '', phonenumber: "",
code: '', code: "",
phonecode: '', phonecode: "",
}, },
form: { form: {
companyName: '', companyName: "",
local: '', local: "",
provinceId: "", provinceId: "",
cityId: "", cityId: "",
districtId: "", districtId: "",
type: '', type: "",
}, },
perfectForm: { perfectForm: {
legalPersonPhone: "", legalPersonPhone: "",
...@@ -333,226 +702,261 @@ ...@@ -333,226 +702,261 @@
industryType: "", industryType: "",
bankName: "", bankName: "",
registeredCapital: "", registeredCapital: "",
businessScope: "" businessScope: "",
}, },
rules: { rules: {
companyName: [{ companyName: [
{
required: true, required: true,
message: '请输入单位名称', message: "请输入单位名称",
trigger: 'blur' trigger: "blur",
}], },
local: [{ {
validator: validateRealName,
},
],
local: [
{
required: true, required: true,
validator: islocal, validator: islocal,
trigger: 'blur' trigger: "blur",
}], },
type: [{ ],
required: true, type: [
message: '请选择角色', {
trigger: 'blur'
}],
name: [{
required: true, required: true,
message: '请输入管理者姓名', message: "请选择角色",
trigger: 'blur' trigger: "blur",
}], },
idNumber: [{ ],
name: [
{
required: true, required: true,
message: '请输入身份证', message: "请输入管理者姓名",
trigger: 'blur' trigger: "blur",
}, },
{ {
pattern:/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/, validator: validateRealName,
message: '请输入正确的身份证号' },
}
], ],
password: [{ idNumber: [
{
required: true, required: true,
message: '请输入密码', message: "请输入身份证",
trigger: 'blur' trigger: "blur",
}, },
{ {
validator: validate, validator: validateRealId,
trigger: 'blur' },
],
password: [
{
required: true,
message: "请输入密码",
trigger: "blur",
}, },
{ {
pattern: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/, pattern: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/,
message: '密码需由8-16位数字字母组合' message: "密码需由8-16位数字字母组合",
} },
], ],
isPassword: [{ isPassword: [
{
required: true, required: true,
message: '请再次输入密码', message: "请再次输入密码",
trigger: 'blur' trigger: "blur",
}, },
{ {
validator: validate2, validator: validate2,
trigger: 'blur' trigger: "blur",
}, },
{ {
pattern: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/, pattern: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/,
message: '密码需由8-16位数字字母组合' message: "密码需由8-16位数字字母组合",
} },
], ],
email: [{ email: [
{
required: true, required: true,
message: '请输入电子邮箱', message: "请输入电子邮箱",
trigger: 'blur' trigger: "blur",
}, },
{ {
pattern: /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/, pattern: /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/,
message: '请输入正确的邮箱地址' message: "请输入正确的邮箱地址",
} },
], ],
phonenumber: [{ phonenumber: [
{
required: true, required: true,
validator: checkPhone, validator: checkPhone,
trigger: 'blur' trigger: "blur",
}, },
{ {
required: true, validator: validateRealPhone,
message: '请输入', },
trigger: 'blur'
}
], ],
code: [{ code: [
{
required: true, required: true,
message: '请输入验证码', message: "请输入验证码",
trigger: 'blur' trigger: "blur",
}], },
phonecode: [{ ],
phonecode: [
{
required: true, required: true,
message: '请输入短信验证码', message: "请输入短信验证码",
trigger: 'blur' trigger: "blur",
}], },
legalPersonPhone: [{ ],
legalPersonPhone: [
{
required: true, required: true,
message: '请输入法人电话', message: "请输入法人电话",
trigger: 'blur' trigger: "blur",
}, },
{ {
pattern:/^1[3456789]\d{9}$/, validator: validateRealPhone,
message: '请输入正确的电话号码' },
}], ],
legalPersonName: [{ legalPersonName: [
{
required: true, required: true,
message: '请输入法人姓名', message: "请输入法人姓名",
trigger: 'blur' trigger: "blur",
},{ },
pattern:/* /^[\u4e00-\u9fa5]{2,4}$/, *//\s/g, {
message: '请输入正确的姓名' validator: validateRealName,
} },
], ],
location: [{ location: [
{
required: true, required: true,
message: '请输入单位所在地', message: "请输入单位所在地",
trigger: 'blur' trigger: "blur",
},{ },
pattern: /^[\u4e00-\u9fa5]{2,}$/, {
message: '请输入正确的单位所在地' validator: validateRealName,
} },
], ],
bankAccount: [{ bankAccount: [
{
required: true, required: true,
message: '请输入结算账号', message: "请输入结算账号",
trigger: 'blur' trigger: "blur",
},{ },
pattern: /(^[1-9]\d*$)/, {
message: '请输入正确的结算账号' validator: validateRealLast,
}], },
bankAccountName: [{ ],
bankAccountName: [
{
required: true, required: true,
message: '请输入结算账号名', message: "请输入结算账号名",
trigger: 'blur' trigger: "blur",
},{ },
pattern: /^[\u4e00-\u9fa5]{2,4}$/, {
message: '请输入正确的结算账号名' validator: validateRealName,
} },
], ],
contactAddress: [{ contactAddress: [
{
required: true, required: true,
message: '请输入联系地址', message: "请输入联系地址",
trigger: 'blur' trigger: "blur",
},{ },
pattern: /^[\u4e00-\u9fa5]{2,}$/, {
message: '请输入正确的联系地址' validator: validateRealName,
}], },
],
socialCode: [{ socialCode: [
{
required: true, required: true,
message: '请输入社会信用码', message: "请输入社会信用码",
trigger: 'blur' trigger: "blur",
},
{
validator: validateRealSHid,
}, },
],
companyNature: [
{ {
pattern:/[^_IOZSVa-z\W]{2}\d{6}[^_IOZSVa-z\W]{10}$/g,
message: '请输入正确的社会信用码'
}],
companyNature: [{
required: true, required: true,
message: '请输入行业类型', message: "请输入行业类型",
trigger: 'blur' trigger: "blur",
}], },
industryType: [{ ],
industryType: [
{
required: true, required: true,
message: '请选择行业类型', message: "请选择行业类型",
trigger: 'blur' trigger: "blur",
}], },
bankName: [{ ],
bankName: [
{
required: true, required: true,
message: '开户银行名称', message: "开户银行名称",
trigger: 'blur' trigger: "blur",
}, },
{ {
pattern: /^[\u4e00-\u9fa5]{2,}$/, validator: validateRealName,
message: '请输入正确的开户银行名称' },
}
], ],
registeredCapital: [{ registeredCapital: [
{
required: true, required: true,
message: '请输入注册资本', message: "请输入注册资本",
trigger: 'blur' trigger: "blur",
},
{
validator: validateRealPrice,
}, },
],
businessScope: [
{ {
pattern: /^\d+(\.\d{2})?$/,
message: '请输入正确的注册资本'
}],
businessScope: [{
required: true, required: true,
message: '请输入经营范围', message: "请输入经营范围",
trigger: 'blur' trigger: "blur",
}, },
{ {
pattern: /[\u4e00-\u9fa5]|[\(\)\《\》\—\;\,\。\“\”\<\>\!]/, pattern: /[\u4e00-\u9fa5]|[\(\)\《\》\—\;\,\。\“\”\<\>\!]/,
message: '请输入正确的经营范围' message: "请输入正确的经营范围",
}], },
identity: [{ ],
identity: [
{
required: true, required: true,
validator: checkidentity, validator: checkidentity,
trigger: 'blur' trigger: "blur",
}], },
cardimg: [{ ],
cardimg: [
{
required: true, required: true,
validator: checkcardimg, validator: checkcardimg,
trigger: 'blur' trigger: "blur",
}] },
],
}, },
}; };
}, },
methods: { methods: {
// 回到首页 back() {
back(){ this.$router.push("/");
this.$router.push("/")
}, },
// 获取单位性质 // 获取单位性质
async getCompanyNatureList() { async getCompanyNatureList() {
const res = await companyNatureList() const res = await companyNatureList();
this.companyNatures = res this.companyNatures = res;
}, },
//获取所属行业 //获取所属行业
async getIndustryList() { async getIndustryList() {
const res = await industryList() const res = await industryList();
this.belongTypes = res this.belongTypes = res;
}, },
// 获取验证码图片 // 获取验证码图片
// async getCordimg() { // async getCordimg() {
...@@ -561,206 +965,195 @@ ...@@ -561,206 +965,195 @@
// }, // },
getJustimg(val) { getJustimg(val) {
console.log(val) console.log(val);
this.justimg = val this.justimg = val;
}, },
getBackimg(val) { getBackimg(val) {
console.log(val) console.log(val);
this.backimg = val this.backimg = val;
}, },
getCardimg(val) { getCardimg(val) {
console.log(val) console.log(val);
this.cardimg = val this.cardimg = val;
}, },
getfile(val) { getfile(val) {
console.log(val) console.log(val);
this.files = val this.files = val;
}, },
// 获取市ID // 获取市ID
getprovinceId(val) { getprovinceId(val) {
this.form.provinceId = val this.form.provinceId = val;
this.form.cityId = ""; this.form.cityId = "";
this.form.districtId = ""; this.form.districtId = "";
}, },
// 获取省ID // 获取省ID
getcityId(val) { getcityId(val) {
this.form.cityId = val this.form.cityId = val;
this.form.districtId = ""; this.form.districtId = "";
}, },
// 获取城ID // 获取城ID
getdistrictId(val) { getdistrictId(val) {
this.form.districtId = val this.form.districtId = val;
}, },
async next() { async next() {
let active = this.active; let active = this.active;
// 注册阶段 // 注册阶段
if (active == 0) { if (active == 0) {
const valid = await this.$refs['form'].validate() const valid = await this.$refs["form"].validate();
const valid1 = await this.$refs['adminform'].validate() const valid1 = await this.$refs["adminform"].validate();
if (valid && valid1) { if (valid && valid1) {
let checked=this.checked; let checked = this.checked;
if(!checked){ if (!checked) {
this.$message.error("请勾选协议") this.$message.error("请勾选协议");
return; return;
} }
let message={} let message = {};
message.phone=this.adminform.phonenumber message.phone = this.adminform.phonenumber;
message.verify=this.adminform.phonecode message.verify = this.adminform.phonecode;
const { const { msg, code } = await verifyPhone(message);
msg, if (code === 200) {
code this.active++;
} = await verifyPhone(message); } else {
if(code===200){ this.$message.error(msg);
this.active++
}else{
this.$message.error(msg)
} }
} }
// 完善阶段 // 完善阶段
} else if (active == 1) { } else if (active == 1) {
const valid = await this.$refs['perfectForm'].validate() const valid = await this.$refs["perfectForm"].validate();
if (valid) { if (valid) {
let justimg = this.justimg; let justimg = this.justimg;
let backimg = this.backimg; let backimg = this.backimg;
let cardimg = this.cardimg; let cardimg = this.cardimg;
let files = this.files; let files = this.files;
justimg.forEach(function(item, index) { justimg.forEach(function (item, index) {
item.type = 1 item.type = 1;
}); });
backimg.forEach(function(item, index) { backimg.forEach(function (item, index) {
item.type = 2 item.type = 2;
}); });
cardimg.forEach(function(item, index) { cardimg.forEach(function (item, index) {
item.type = 3 item.type = 3;
}); });
files.forEach(function(item, index) { files.forEach(function (item, index) {
item.type = 4 item.type = 4;
}); });
let file = justimg.concat(backimg).concat(cardimg).concat(files); let file = justimg.concat(backimg).concat(cardimg).concat(files);
let form = this.form; let form = this.form;
let adminform = this.adminform; let adminform = this.adminform;
let perfectForm = this.perfectForm; let perfectForm = this.perfectForm;
Object.assign(perfectForm, form); Object.assign(perfectForm, form);
perfectForm.sysUserPO = adminform perfectForm.sysUserPO = adminform;
perfectForm.fileList = file perfectForm.fileList = file;
const { const { data, code, msg } = await register(perfectForm);
data, if (code === 200) {
code, this.$message.success(msg);
msg this.active++;
} = await register(perfectForm);
if(code===200){
this.$message.success(msg)
this.active++
} }
} }
} }
}, },
refreshCode() { refreshCode() {
this.flag = !this.flag; this.flag = !this.flag;
console.log("刷新") console.log("刷新");
}, },
getMakedCode(code) { getMakedCode(code) {
this.code = code; this.code = code;
}, },
async getMessagecode(){ async getMessagecode() {
if(!this.adminform.phonenumber){ if (!this.adminform.phonenumber) {
this.$message.error("请输入手机号") this.$message.error("请输入手机号");
return return;
} }
if(!this.adminform.code){ if (!this.adminform.code) {
this.$message.error("请填写验证码") this.$message.error("请填写验证码");
return return;
} }
if(this.code.toLowerCase()!==this.adminform.code.toLowerCase()){ if (this.code.toLowerCase() !== this.adminform.code.toLowerCase()) {
this.$message.error("请输入正确的验证码") this.$message.error("请输入正确的验证码");
return return;
} }
let message={} let message = {};
message.phone=this.adminform.phonenumber; message.phone = this.adminform.phonenumber;
message.type = 1 message.type = 1;
const { const { msg, code } = await sendSms(message);
msg,
code
} = await sendSms(message)
if (code === 200) { if (code === 200) {
this.$message.success("发送成功") this.$message.success("发送成功");
this.refreshCode(); this.refreshCode();
} }
}
}, },
mounted() { mounted() {
console.log(this.flag); console.log(this.flag);
this.flag = !this.flag; this.flag = !this.flag;
this.getIndustryList(); this.getIndustryList();
this.getCompanyNatureList() this.getCompanyNatureList();
// this.getCordimg(); // this.getCordimg();
}, },
} },
};
</script> </script>
<style scoped> <style scoped>
.upload>div { .upload > div {
color: rgba(102, 102, 102, 1); color: rgba(102, 102, 102, 1);
font-weight: 400; font-weight: 400;
} }
.label-form { .label-form {
font-size: .16rem; font-size: 0.16rem;
margin-top: 0.3rem; margin-top: 0.3rem;
margin-bottom: 0.1rem; margin-bottom: 0.1rem;
font-weight: 400; font-weight: 400;
} }
.company h4 { .company h4 {
font-size: .22rem; font-size: 0.22rem;
font-weight: bold; font-weight: bold;
color: rgba(0, 0, 0, 1); color: rgba(0, 0, 0, 1);
margin-top: 0.62rem; margin-top: 0.62rem;
margin-bottom: 0.5rem; margin-bottom: 0.5rem;
} }
.el-input { .el-input {
width: 2.4rem; width: 2.4rem;
height: 0.4rem; height: 0.4rem;
} }
.nextButton { .nextButton {
width: 3rem; width: 3rem;
height: .48rem; height: 0.48rem;
background: rgba(4, 134, 254, 1); background: rgba(4, 134, 254, 1);
border-radius: .04rem; border-radius: 0.04rem;
line-height: .46rem; line-height: 0.46rem;
margin-top: .45rem; margin-top: 0.45rem;
margin-bottom: .8rem; margin-bottom: 0.8rem;
color: #fff color: #fff;
} }
.item .el-form-item__label { .item .el-form-item__label {
font-size: .16rem; font-size: 0.16rem;
font-weight: bold; font-weight: bold;
} }
.password-tips { .password-tips {
margin-bottom: 0; margin-bottom: 0;
color: rgba(144, 147, 153, 1); color: rgba(144, 147, 153, 1);
font-weight: 400; font-weight: 400;
font-size: .12rem; font-size: 0.12rem;
} }
.avatar-uploader .el-upload { .avatar-uploader .el-upload {
border: 1px dashed #d9d9d9; border: 1px dashed #d9d9d9;
border-radius: 6px; border-radius: 6px;
cursor: pointer; cursor: pointer;
position: relative; position: relative;
overflow: hidden; overflow: hidden;
} }
.avatar-uploader .el-upload:hover { .avatar-uploader .el-upload:hover {
border-color: #409EFF; border-color: #409eff;
} }
.avatar-uploader-icon { .avatar-uploader-icon {
font-size: 28px; font-size: 28px;
color: #8c939d; color: #8c939d;
width: 1.2rem; width: 1.2rem;
...@@ -768,72 +1161,72 @@ ...@@ -768,72 +1161,72 @@
line-height: 1.2rem; line-height: 1.2rem;
text-align: center; text-align: center;
background: rgba(247, 247, 247, 1); background: rgba(247, 247, 247, 1);
} }
.avatar { .avatar {
width: 1.2rem; width: 1.2rem;
height: 1.2rem; height: 1.2rem;
display: block; display: block;
} }
.getcode, .getcode,
.getphonecode { .getphonecode {
position: relative; position: relative;
} }
.getcode>.code { .getcode > .code {
/*margin: 400px auto;*/ /*margin: 400px auto;*/
width: .68rem; width: 0.68rem;
height: .32rem; height: 0.32rem;
/*border: 1px solid red;*/ /*border: 1px solid red;*/
position: absolute; position: absolute;
top: 0; top: 0;
left: 3.3rem; left: 3.3rem;
} }
.getphonecode>.phonecode { .getphonecode > .phonecode {
font-size: .14rem; font-size: 0.14rem;
font-weight: 400; font-weight: 400;
color: rgba(51, 136, 255, 1); color: rgba(51, 136, 255, 1);
position: absolute; position: absolute;
top: 0.13rem; top: 0.13rem;
left: 4rem; left: 4rem;
cursor: pointer; cursor: pointer;
} }
.else .red { .else .red {
color: #FF6161; color: #ff6161;
font-size: .14rem; font-size: 0.14rem;
} }
.perfect-head { .perfect-head {
width: 9rem; width: 9rem;
margin-top: 0.66rem; margin-top: 0.66rem;
margin-bottom: .37rem; margin-bottom: 0.37rem;
} }
.perfect-head>div>text { .perfect-head > div > text {
font-weight: bold; font-weight: bold;
} }
.result { .result {
width: 100%; width: 100%;
height: 3rem height: 3rem;
} }
.result h4 { .result h4 {
font-size: .30rem; font-size: 0.3rem;
font-weight: 600; font-weight: 600;
color: rgba(75, 193, 103, 1); color: rgba(75, 193, 103, 1);
margin-top: 1rem; margin-top: 1rem;
margin-bottom: .2rem; margin-bottom: 0.2rem;
} }
.result h5 { .result h5 {
font-size: .18rem; font-size: 0.18rem;
font-weight: 400; font-weight: 400;
color: rgba(128, 128, 128, 1); color: rgba(128, 128, 128, 1);
line-height: .3rem; line-height: 0.3rem;
text-align: center; text-align: center;
} }
</style> </style>
\ No newline at end of file
/* 验证账号 */
export function validateUsername(rule, value, callback) {
if (value.length < 6 || value.length > 20) {
return callback(new Error('用户名不得小于6个或大于20个字符!'))
} else {
callback()
}
}
/* 验证密码 */
export function validatePassword(rule, value, callback) {
if (value.length < 6) {
return callback(new Error('密码不能小于6位'))
} else {
callback()
}
}
/* 合法邮箱 */
export function validateEmail(rule, value, callback) {
const emailReg = /^(([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})$/
if (!value) {
return callback(new Error('邮箱不能为空!!'))
}
setTimeout(() => {
if (!emailReg.test(value)) {
return callback(new Error('邮箱格式错误'))
} else {
callback()
}
}, 100)
}
/* 合法手机号 */
export function validatePhone(rule, value, callback) {
const phoneReg = /^[1][3,4,5,7,8][0-9]{9}$/
if (!value) {
return callback(new Error('手机号码不能为空!!'))
}
setTimeout(() => {
if (!phoneReg.test(value)) {
return callback(new Error('手机号码格式错误'))
} else {
callback()
}
}, 100)
}
/* 合法真实姓名 */
export function validateRealName(rule, value, callback) {
const realnameReg = /^[\u4e00-\u9fa5]{1,30}$/
if (!value) {
return callback(new Error('真实姓名不能为空!!'))
}
setTimeout(() => {
if (!realnameReg.test(value)) {
console.log(value+'----------')
var reg = new RegExp('[^\u4e00-\u9fa5]{1,30}');
let a = value.replace(reg,'')
value = a
return value
console.log(value+'+++++++++++++++++')
return callback(new Error('您的真实姓名格式错误,请输入英文或汉字!'))
} else {
callback()
}
}, 100)
}
/* 合法身份证 */
export function validateIdNumber(rule, value, callback) {
const idNumberReg = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/
if (!value) {
return callback(new Error('身份证号码不能为空!!'))
}
setTimeout(() => {
if (!idNumberReg.test(value)) {
return callback(new Error('您的身份证号码格式错误!'))
} else {
callback()
}
}, 100)
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment