js判断邮箱是否包括@符号,符号不出现在开头和结尾

img


判断邮箱是否包括@符号,@符号不能出现开头或结尾。分别需要输出错误,正确,错误,错误。
如何用indexOf写

img


function email_test(value){
            var reg=/^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,5}$/;
            if(!(reg.test(value))){
                console.log('错误')
            }else{
                console.log('正确')
            }
        }
        email_test('sdsss,haha')
        email_test('sdsss@gmall.com')
        email_test('sdsss@gmall.com@')
        email_test('@sdsss@gmall.com')

给个思路:字符串的indexOf方法可以判断,有是索引,没有-1。

其实字符串 截取,indexOf 都可以 还有就是 es6里的新方法 startsWith endWith

//js判断邮箱是否包括@符号
var email = '12342@qq.com';
ver str = email.indexOf('@');
console.log(str)
//此时str应为5,如果email内不含‘@’则为-1

//符号不出现在开头和结尾
if(str == 0 || str == email.length-1){
    //如果进入了这个判断则‘@’出现在了开头或者结尾
}