Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用一行JavaScript中的RegExp解析电子邮件;使右侧不区分大小写,但保留左侧_Javascript_Regex - Fatal编程技术网

用一行JavaScript中的RegExp解析电子邮件;使右侧不区分大小写,但保留左侧

用一行JavaScript中的RegExp解析电子邮件;使右侧不区分大小写,但保留左侧,javascript,regex,Javascript,Regex,从我的代码: //yagh ... apparently there's an off-chance email is case sensitive ... console.log('yooooooooo0 ' + name.substr(name.indexOf('@')+1)); //console.log('yooooooooo1 ' + name.substr(name.indexOf('@')+1).toLowercase()); console.log('yooooooooo1 '

从我的代码:

//yagh ... apparently there's an off-chance email is case sensitive ...

console.log('yooooooooo0 ' + name.substr(name.indexOf('@')+1));
//console.log('yooooooooo1 ' + name.substr(name.indexOf('@')+1).toLowercase());
console.log('yooooooooo1 ' + name.substr(name.indexOf('@')+1).toLowerCase());
console.log('yooooooooo2 ' + name.substr(name.indexOf('@'),0));
console.log('yooooooooo3 ' + name.split('@')[0]);
console.log('yooooooooo4 ' + /[^@]*/.exec(name)[0]);//hmmm mh
console.log('yooooooooo4_2 ' + /[^@]*$/.exec(name)[0]);//hmmm mh
//hm yea okay ya
console.log(name);//nondestructive and
//pff ...
console.log((/[^@]*/.exec(name)[0])+'@'+(/[^@]*$/.exec(name)[0]).toLowerCase);
let tmp = (/[^@]*/.exec(name)[0])+'@'+ (/[^@]*$/.exec(name)[0]).toLowerCase;
console.log(tmp);
console.log((/[^@]*/.exec(name)[0])+'@'+name.substr(name.indexOf('@')+1).toLowerCase());
    var pass = $('#pass1').val();

    var crypto = window.crypto || window.msCrypto;

if(crypto.subtle)
{
  • 说随附的电子邮件是
    a@b.C
    。关键是,我刚刚发现电子邮件只在
    @
    的右边不区分大小写。理论上,管理员可以选择让这种情况发生,但在实践中,为了防止混淆,大多数管理员不会这样做(这是我读到的)

    我想:

    console.log((/[^@]*/.exec(name)[0])+'@'+(/[^@]*$/.exec(name)[0]).toLowerCase);
    
    我有一个工作点是:

    console.log((/[^@]*/.exec(name)[0])+'@'+name.substr(name.indexOf('@')+1).toLowerCase());
    
    第一个给了我:

    a@function toLowerCase(){
       [native code]
    }
    
    第二点:

    a@b.c
    
    这很好,但第一个更漂亮,可读性更低,这很好,因为没有其他人会在上面,永远

    有什么方法可以让第一个有效吗?(将其分配给
    let tmp=
    会在登录(
    tmp
    )时给出相同的答复)

  • 替换

    console.log((/[^@]*/.exec(name)[0])+'@'+(/[^@]*$/.exec(name)[0]).toLowerCase);
    

    console.log((/[^@]*/.exec(name)[0])+'@'+(/[^@]*$/.exec(name)[0]).toLowerCase());
    
    你也可以这样做

    const email = 'some.name@some_domain.com'
    const [name, domain] = email.split('@')
    console.log(`${name}@${domain}`);
    

    选择答案作为解决方案?我可能在某个地方丢失了按钮。Ofc。谢谢!…这就是为什么我是业余爱好者,括号,当然,感谢额外的,看起来几乎像是壳划线。哦,选中标记,Ofc,是的,谢谢!!!!