이메일 주소를 분할하고 '@'뒤의 첫 번째 문자와 첫 번째 문자를 제거해야합니다.
다음과 같이 할 수 있습니다.
'bar@foo'.split('@').map(function(a){ return a.charAt(0); }).join('')
--> bf
이제 정규식 일치를 사용하여 수행 할 수 있는지 궁금합니다.
'bar@foo'.match(/^(\w).*?@(\w)/).join('')
--> bar@fbf
내가 원하는 것은 아니지만 여기서 뭔가 놓친 것 같아요! 어떤 제안?
정규식을 사용하는 이유는 무엇입니까? indexOf
주어진 위치에서 문자를 얻는 데 사용 하십시오.
var addr = 'foo@bar';
console.log(addr[0], addr[addr.indexOf('@')+1])
코드가 모든 브라우저에서 작동하는지 확인하려면 다음 charAt
대신 사용할 수 있습니다 []
.
console.log(addr.charAt(0), addr.charAt(addr.indexOf('@')+1));
어느 쪽이든, 그것은 잘 작동 것이고, 이것은 명백하게 가장 빠른 방법입니다
당신이하면 된다 것을 계속하는 것, 그리고 정규식을 선택, 당신은 알아야하는 match
방법은 귀하의 경우 3 문자열을 포함하는 배열을 반환합니다 :
/^(\w).*?@(\w)/
["the whole match",//start of string + first char + .*?@ + first string after @
"groupw 1 \w",//first char
"group 2 \w"//first char after @
]
그래서 addr.match(/^(\w).*?@(\w)/).slice(1).join('')
아마도 당신이 원하는 것입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다