2011-09-01 14 views

cevap

27

maçı ile Normal İfade güvenlik kontrolleri ile

var str="[email protected]"; 
var nameMatch = str.match(/^([^@]*)@/); 
var name = nameMatch ? nameMatch[1] : null; 
bir satır olarak güvenlik kontrolleri

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

ile

yerine ile

bir satır

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

Normal İfade olarak yazılır

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

Bölünmüş dize güvenlik kontrolleri ile

bir satır olarak

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

her örneğin

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

Performans testleri

JSPerf Tests

+0

basitliği gibi – Xarylem

+0

Fonksiyonel olarak: str.split ("@") azaltmak (kullanıcı =>) user) ' – schabluk

+0

@epascarello - Neden basit bir str.substring (0, str.indexOf (" @ "))' kullanarak değil misiniz? Benim gibi yaklaşık 65 kat daha fazla itibar olduğu için, ben bir şey eksik olduğunu gayet eminim, sadece ne olduğunu bilmiyorum .. – myfunkyside

0
var email = "[email protected]"; 

var username = email.substring(0,email.indexOf('@')) 
javascript semantik hakkında emin değil solüsyon
İlgili konular