Javascript 在本机脚本代码中验证电子邮件
我使用if语句来验证电子邮件,但是当我将其添加到本机脚本中时,它表示只能在顶层或块内声明函数。所以我不确定在哪里添加此代码Javascript 在本机脚本代码中验证电子邮件,javascript,vue.js,authentication,nativescript,native,Javascript,Vue.js,Authentication,Nativescript,Native,我使用if语句来验证电子邮件,但是当我将其添加到本机脚本中时,它表示只能在顶层或块内声明函数。所以我不确定在哪里添加此代码 <template> <Page> <ActionBar title="authentication" /> <StackLayout id="registervalidate" class="registervalidate"> <TextField v-model="y
<template>
<Page>
<ActionBar title="authentication" />
<StackLayout id="registervalidate" class="registervalidate">
<TextField v-model="youremail" class="youremail"></TextField>
<TextField v-model="yourpassword" class="yourpassword"></TextField>
<Button text="submit" @tap="onSubmit" />
</StackLayout>
</Page>
</template>
<script>
export default{
data(){
return{
yourmail:'',
yourpassword:''
}
},
methods: {
onSubmit: function() {
if (!this.youremail) {
} else if (!this.validEmail(this.youremail)) {
//CHECK IF EMAIL IS VALID
return;
}
if (!this.yourpassword) {
return;
} else {
return;
}
validEmail: function(email) { // valid email
var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\
[[0-9]{1,3}\.[0-9]
{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
</script>
导出默认值{
数据(){
返回{
您的邮件:'',
您的密码:“”
}
},
方法:{
onSubmit:function(){
如果(!this.youremail){
}否则如果(!this.validEmail(this.youremail)){
//检查电子邮件是否有效
返回;
}
如果(!this.yourpassword){
返回;
}否则{
返回;
}
validEmail:函数(电子邮件){//有效电子邮件
变量re=/^([^()\[\]\\,;:\s@“]+(\.[^()\[\]\\,;:\s@“]+)*)|(“+”)@((\
[[0-9]{1,3}\.[0-9]
{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z-0-9]+\.+[a-zA-Z]{2,}))$/;
返回重新测试(电子邮件);
}
您应该在脚本部分中使用导出默认值,并在validEmail
方法的末尾添加
和缺少的},
在validEmail
方法之前,您还应该按如下方式添加数据对象:
<template>
<Page>
<ActionBar title="authentication" />
<StackLayout id="registervalidate" class="registervalidate">
<TextField v-model="youremail" class="youremail"></TextField>
<TextField v-model="yourpassword" class="yourpassword">
</TextField>
<Button text="submit" @tap="onSubmit" />
</StackLayout>
</Page>
</template>
<script>
export default {
data() {
return {
yourmail: "",
yourpassword: ""
};
},
methods: {
onSubmit: function() {
if (!this.youremail) {} else if (!this.validEmail(this
.youremail)) {
//CHECK IF EMAIL IS VALID
return;
}
if (!this.yourpassword) {
return;
} else {
return;
}
},
validEmail: function(email) {
// valid email
var re =
/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
}
};
</script>
您是否尝试在js周围放置…
标记?感谢您的回复。是的,我确实放置了标记,但它说“函数只能在顶层或块内声明”。嘿,我添加了导出默认值并添加了数据对象,但出现了相同的错误。