feat: 判断字符串是否为指定的特殊字符

master
LCJ-MinYa 7 months ago
parent 7ec8cbdc8f
commit f1fb378d1e

@ -95,6 +95,15 @@ export const date = {
}, },
}; };
/** 判断字符串不能为指定的特殊字符 */
export const isSpecialChar = (str: string, specialChars?: string): boolean => {
if (!specialChars) {
specialChars = `~!@#$¥%^&*()_+-={}[]【】|\\:;"''""“”<>《》,.。?/;;…`;
}
const specialCharsArr = specialChars.split('');
return specialCharsArr.some((char) => str.includes(char));
};
export const generateUUID = () => { export const generateUUID = () => {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
const r = (Math.random() * 16) | 0, const r = (Math.random() * 16) | 0,

@ -1,15 +1,52 @@
<template> <template>
<base-container>
<el-card> 打开源代码结合控制台查看 </el-card> <el-card> 打开源代码结合控制台查看 </el-card>
<el-form
:model="form"
label-width="150px"
style="width: 600px"
>
<el-form-item
label="是否为特殊字符"
prop="specialChars"
:rules="isSpecialCharsRules"
>
<el-input
placeholder="请输入"
v-model="form.specialChars"
></el-input>
</el-form-item>
</el-form>
</base-container>
</template> </template>
<script setup lang="jsx"> <script setup lang="tsx">
import { ref } from 'vue'; import { ref, computed } from 'vue';
import { url, generateUUID, array } from '@/utils/tools'; import { url, generateUUID, array, isSpecialChar } from '@/utils/tools';
defineOptions({ defineOptions({
name: 'DemoTools', name: 'DemoTools',
}); });
const form = ref({
specialChars: '',
});
const isSpecialCharsRules = computed(() => {
return [
{
validator: (rule, value: string, callback) => {
if (isSpecialChar(value)) {
callback(new Error('不能包含特殊字符'));
} else {
callback();
}
},
trigger: 'blur',
},
];
});
// url // url
const objToUrlParma = url.objToUrlParma({ x: 1, y: 2, z: 3, test: 'test' }, ['y']); const objToUrlParma = url.objToUrlParma({ x: 1, y: 2, z: 3, test: 'test' }, ['y']);
console.log('将对象转为链接上的参数', objToUrlParma); console.log('将对象转为链接上的参数', objToUrlParma);

Loading…
Cancel
Save