[英]Username validation using regex
我正在尝试使用正则表达式验证 Vue 中的用户名字段。 我在文本框上有一个按键事件,并且在每个按键上都调用了以下方法
userNameValidation(event) {
if (!event.key.match(/^[a-zA-Z0-9._]+$/)) {
event.preventDefault();
}
}
这个正则表达式的问题是它允许.
和_
在我不想要的开头。
我希望用户名包含字母、数字、 .
和_
它应该以字母开头。
使用两个字符集,一个在开始时匹配[az]
一次,然后是更宽松的一个匹配零次或多次。
/^[az][a-z0-9._]*$/i
而不是验证按键事件。 您可以一次验证模糊上的用户名字段以匹配整个正则表达式。
演示:
new Vue({ el: '#app', data: { username: null }, methods: { validateUserName() { if (!this.username.match(/^[az][a-z0-9._]*$/i)) { console.log('validation not passed!'); event.stopPropagation(); } else { console.log('validation passed!'); } } } })
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script> <div id="app"> User Name : <input type="text" v-model="username" @blur="validateUserName"/> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.