开发工具与关键技术:Visual Studio 2015 JavaScript
作者:宁佐潮
撰写时间:2019.4.7
在注册中有需要用户输入邮箱地址,再输入完后用正则对用户输入的Email邮箱地址进行判断,但是这个时候有一个问题,在这里 @ 符号是C#的,如果直接在JavaScript中使用,那么会报错
为了解决@特殊符号在JavaScript中无法直接使用,用正则里面的转义也不可以,这个时候需要用ASCLL码来转换一下,然后才能进行判断
在这里插入图片描述
//判断邮箱是否正确
function Useremailchange() {
var email = String.fromCharCode(64);//把ASCLL码值转换成符号
var UseremailNum = $("#Useremail").val();//获取到用户输入的邮箱地址
console.log(email);
console.log(UseremailNum);
if (UseremailNum.match(email) != null) {//判断输入的邮箱地址有@符号
console.log(UseremailNum.match(email));
UseremailNum = UseremailNum.replace(email, 64);//把@符号替换成相对应的ASCLL码值
var IDNumTest = /^\w+([+.]\w+)64\w+([.]\w+).\w+([.]\w+)*$/;//邮箱地址的正则表达式
if (!IDNumTest.test(UseremailNum)) {
layer.alert("邮箱信息有误2,请输入正确的邮箱!", { icon: 0, title: "提示" });
}
} else {
layer.alert("邮箱信息有误1,请输入正确的邮箱!", { icon: 0, title: "提示" });
}
console.log(UseremailNum);
};
首先,我定义一个email,用String.fromCharCode来把相对应的ASCLL码转换成特殊符号@,然后获取到用户输入的邮箱地址,在判断的时候,因为把正则里面的@符号也转换成了对应的ASCLL码64,如果用户输入的邮箱账号中的64而没有@符号,那也会判断是正确的邮箱地址,所以我首先判断用户输入的邮箱地址中是否有@符号,如果没有直接提示用户邮箱信息有误1,请输入正确的邮箱!,如果有@符号就可以继续往下面判断,把用户输入的邮箱地址中的@符号替换成64,然后用正则表达式进行判断,如果错误就提示用户邮箱信息有误2,请输入正确的邮箱!正确则可以继续接下来的系列操作。
下面我用console在控制台输出了下
如有错误,请指正