我在前端使用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',请告诉我,因为这更加严格。
最佳答案
尝试这个:
<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
}
},
关于javascript - 在表单输入中键入电话号码时,删除字母“e”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46969091/