我是javaScript的新手,我面臨的問題是我必須匹配@
符號並確保它只允許在字符串中一次。爲此,我編寫了以下正則表達式。正則表達式要求@符號只在字符串中有一次
var regexpat=/[@]{1}/;
if(regexpat.test(valu))
testresults = true;
else
{
alert("Please input a valid email address!");
testresults = false;
}
我的正則表達式正在處理以下輸入值:[email protected]@abc.com
。但是,如果我提供的輸入值爲"[email protected]"@abc.com
,則不會引發警報錯誤消息。
我該如何更改我的正則表達式,以便它可以用於"[email protected]"@abc.com
?
如果您要驗證的電子郵件地址,我建議你所以搜索,你會發現很多regex'es的。 – ClasG
'valu.replace(/ [^ @] +/g,「」).length == 1'([see here](https://stackoverflow.com/questions/2903542/javascript-how-many-times-一個字符出現在一個字符串中)) –
類似於(?:[a-z0-9!#$%&'* +/=?^ _'{|}〜 - ] +(?:\ [A-Z0-9#$%&'* +/=^_'{|}〜 - !?] +)* |「(?:[\ x01- \ X08 \ X0B \ X0C \ x0e- \ X1F ?\ X21 \ x23- \ x5b \ x5d- \ 0x7F部分] | \\ [\ x01- \ X09 \ X0B \ X0C \ x0e- \ 0x7F部分)*「)@(:(:[A-Z0-9] (?:[A-Z0-9 - ] * [A-Z0-9])?\)+ [A-Z0-9](?:[A-Z0-9 - ] * [A-Z0-9 ])|?\ [(:(?: 25 [0-5?] | 2 [0-4] [0-9] |?[01] [0-9] [0-9])\)。 {3}(?: 25 [0-5] | 2 [0-4] [0-9] | [01] [0-9] [0-9] |?[A-Z0-9 - ] * [A-Z0-9]:(?:[\ x01- \ X08 \ X0B \ X0C \ x0e- \ X1F \ x21- \ X5A \ x53- \ 0x7F部分] | \\ [\ x01- \ X09 \ X0B \ X0C \ x0e- \ x7f])+)\]) – Manav