我在VueJS和Element io的前端构建了一个应用程序。我试图验证电话号码但我看到那封信你可以在表格输入中输入字母e。
我尝试删除用户输入的最后一个字母,'e',或者如果我发现'e',则不让用户输入该字母。
我尝试了一些我在互联网上找到的但没有用的东西。
这是最新尝试的输入,仍然无法验证:
<el-input
v-model="newUser.phone"
type="number"
v-validate="{required: true, max: 13}"
name="Phone"
@keyup="newUser.phone ? newUser.phone.substring(newUser.phone.length, newUser.phone.length -1) : 'true'">
<template slot="prepend">07</template>
</el-input>
这是我用vee-validate试过的上一版本,因为电话号码无效,所以不让用户提交表格:
<el-input
v-model="newUser.phone"
v-validate="{required: true, max: 13, regex: /^\d+$/}"
name="Phone"
:class="{redBorder: errors.has('Phone')}" >
<template slot="prepend">07</template>
</el-input>
这有效,我收到错误,输入:The Phone field format is invalid
。
如果有人知道如何删除“e”或者不让用户输入“e”,请告诉我,因为这更严格。
答案 0 :(得分:1)
试试这个:
<el-input
v-model="newUser.phone"
type="number"
v-validate="{required: true, max: 13}"
name="Phone"
v-on:keypress="isNumber(event)">
<template slot="prepend">07</template>
</el-input>
在方法函数中:
isNumber: function(evt) {
evt = (evt) ? evt : window.event
var charCode = (evt.which) ? evt.which : evt.keyCode
if ((charCode > 31 && (charCode < 48 || charCode > 57)) && charCode !== 46) {
evt.preventDefault()
} else {
return true
}
},