2011-09-01 25 views

回答

27

與之相匹配的正則表達式

安全檢查

var str="[email protected]"; 
var nameMatch = str.match(/^([^@]*)@/); 
var name = nameMatch ? nameMatch[1] : null; 

寫成一行

var name = str.match(/^([^@]*)@/)[1]; 

正則表達式替換爲

安全檢查

var str="[email protected]"; 
var nameReplace = str.replace(/@.*$/,""); 
var name = nameReplace!==str ? nameReplace : null; 

寫成一行

var name = str.replace(/@.*$/,""); 

分割字符串

與安全檢查

var str="[email protected]"; 
var nameParts = str.split("@"); 
var name = nameParts.length==2 ? nameParts[0] : null; 

寫爲一個線中的每個實例的

var name = str.split("@")[0]; 

性能測試

JSPerf Tests

+0

不知道關於JavaScript語法的簡單,但我會用這個模式:/ 。+(?= @)/ – Xarylem

+0

以一種功能方式:'str.split(「@」)。reduce(user =>用戶)' – schabluk

+0

@epascarello - 你爲什麼不使用簡單的'str.substring(0,str.indexOf(「@」))''?既然你的聲譽比我高出65倍,我敢肯定我錯過了一些東西,只是不知道該怎麼做...... – myfunkyside

相關問題