vue3中,校验方法之身份证号脱敏、校验数字长度、特殊字符校验
效果
2860 //身份证号脱敏
代码
身份证号脱敏
index.vue
import {
idCardEncipher } from '@src/utils/jiaoyan' row.idCard = idCardEncipher(row.idCard)
方法
src\utils\jiaoyan.ts
// 校验数字 export function validateNumberFun(rule: any, value: any, callback: any) {
if (value || rule.required) {
const v = value || '' const pattern = /^[0-9]{1,8}$/ if (!pattern.test(v)) {
callback(new Error('请输入1-8位数字')) } else {
callback() } } else {
callback() } } // 路由地址 export function validateCommonPath(value: any, callback: any) {
const commonNoChars = '~!@#$%^&*()_+|}{":?><,.;' + '’[]\\=-` ' const noChars = commonNoChars const v = value || '' for (let i = 0; i < noChars.length; i++) {
const char = noChars[i] if (v.indexOf(char) != -1) {
callback(new Error('不能使用字符:' + noChars)) return } } } //特殊字符校验 export function validateCommonText(value: any, callback: any) {
const commonNoChars = '~!@#$%^&*()_+|}{":?><,./;' + '’[]\\=-` ' const noChars = commonNoChars const v = value || '' for (let i = 0; i < noChars.length; i++) {
const char = noChars[i] if (v.indexOf(char) != -1) {
callback(new Error('不能使用字符:' + noChars)) return } } const words = ['null', 'NULL'] for (let i = 0; i < noChars.length; i++) {
const word = words[i] if (v.indexOf(word) != -1) {
callback(new Error('不能包含: ' + word)) return } } callback() } //校验数字12位字符 export function validateNumberTW(rule: any, value: any, callback: any) {
if (value || rule.required) {
const v = value || '' const pattern = /^[0-9]{1,12}$/ if (!pattern.test(v)) {
callback(new Error('请输入1-12位数字')) } else {
callback() } } else {
callback() } } // 自定义校验销售组织不能为空 export function validateNull(rule: any, value: any, callback: any) {
if (value || rule.required) {
const v = value || '' const len = String(v).length if (len == 2) {
callback(new Error('销售组织不能为空')) } else {
callback() } } else {
callback() } } // 金额小数点 export function validateNumberF(rule: any, value: any, callback: any) {
if (value || rule.required) {
const v = value || '' const len = String(v).length // const pattern = /(^[1-9]{1}[0-9]*$)|(^[0-9]*\.[0-9]{2}$)/ if (!len || len > 15) {
callback(new Error('请输入1-15位数字')) } else if (!/^\d+([.]+\d{1,2})?$/.test(v)) {
callback(new Error('请输入正确金额')) } else {
callback() } } else {
callback() } } export function validateNumberCharacters(rule: any, value: any, callback: any) {
if (value || rule.required) {
const v = value || '' const pattern = /^[0-9a-zA-Z]*$/ if (!pattern.test(v)) {
callback(new Error('请输入字母+数字组合')) } else {
callback() } } else {
callback() } } //身份证号脱敏 export const idCardEncipher = (idCard) => {
const reg = /^(.{6})(?:\d+)(.{4}$)/ const maskedIdCard = idCard.replace(reg,'\$1\$2') return maskedIdCard }
特殊字符校验
index.vue
<el-form-item label="项目名称:" prop="item_name" :rules="[ { validator: validateCommonText, trigger: ['blur', 'change'], }, ]" > <el-input v-model="formInline.item_name" maxlength="100" placeholder="请输入" /> </el-form-item> <script> import { validateCommonText } from '@src/utils/validate' </script>
src\utils\validate.ts
/ * 中文 + 字母 + 数字 + "-" 的组合 * @param {*} rule * @param {*} value * @param {*} callback */ export function validateRoleRuler(rule: any, value: any, callback: any) {
const v = value || '' const commonNoChars = '~!@#$%^&*()+|}{":?><,./;' + '’[]\\=` ' const pattern = /[~!@#$%^&*()_+|}{":?><,./\\;'[\]=` 、]|([Nn][Uu][Ll][Ll])/ if (pattern.test(v)) {
callback(new Error('不能使用' + commonNoChars)) return } callback() } / * @description 特定字符校验 * @param value * @returns {boolean} */ export function validateCommonText(rule: any, value: any, callback: any) {
const commonNoChars = '~!@#$%^&*()+|}{":?><,./;' + '_’[]\\=-` ' const noChars = commonNoChars const v = value || '' for (let i = 0; i < noChars.length; i++) {
const char = noChars[i] if (v.indexOf(char) != -1) {
// callback(new Error('不能使用字符:' + noChars)) callback(new Error('不能使用特殊字符')) return } }
到此这篇vue3中,校验方法之身份证号脱敏、校验数字长度、特殊字符校验的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/qdvuejs/10774.html