vue项目 写新增名称的正则表达式 只能扣英文、数字和-
时间: 2024-03-11 09:47:49 浏览: 69
可以使用如下正则表达式来验证输入的内容是否符合要求:
```javascript
/^[a-zA-Z0-9-]+$/
```
这个正则表达式的含义是:
- `^` 匹配字符串的开始位置
- `[a-zA-Z0-9-]` 匹配任意一个字母、数字或者短横线
- `+` 表示前面的字符集可以出现一次或多次
- `$` 匹配字符串的结束位置
因此,这个正则表达式可以匹配由字母、数字和短横线组成的字符串。
下面是一个示例代码,其中正则表达式就是上面提到的:
```vue
<template>
<div>
<input type="text" v-model="name">
<button v-bind:disabled="!isValidName()">提交</button>
</div>
</template>
<script>
export default {
data() {
return {
name: ''
}
},
methods: {
isValidName() {
const reg = /^[a-zA-Z0-9-]+$/
return reg.test(this.name) && this.name.length > 0
}
}
}
</script>
```
在这个例子中,isValidName函数也是用于验证输入框中的内容是否符合要求,它使用了上面提到的正则表达式,只允许输入字母、数字和短横线,同时还要判断输入框中的内容长度是否大于0,如果都符合要求,返回true,否则返回false。在template标签中,使用v-bind指令来绑定这个函数的返回值,如果返回false,则禁用提交按钮,否则允许提交。
阅读全文