@@ -89,7 +89,19 @@ export default function ProfilePage() {
8989 // 사용자 정보 핸들러
9090 const handleUserInfoChange = ( e : React . ChangeEvent < HTMLInputElement > ) => {
9191 const { name, value } = e . target ;
92- setUserInfo ( prev => ( { ...prev , [ name ] : value } ) ) ;
92+ if ( name === 'phone' ) {
93+ const numbers = value . replace ( / [ ^ \d ] / g, '' ) ;
94+ let formattedPhone = numbers ;
95+ if ( numbers . length > 3 ) {
96+ formattedPhone = `${ numbers . slice ( 0 , 3 ) } -${ numbers . slice ( 3 ) } ` ;
97+ }
98+ if ( numbers . length > 7 ) {
99+ formattedPhone = `${ numbers . slice ( 0 , 3 ) } -${ numbers . slice ( 3 , 7 ) } -${ numbers . slice ( 7 , 11 ) } ` ;
100+ }
101+ setUserInfo ( prev => ( { ...prev , [ name ] : formattedPhone } ) ) ;
102+ } else {
103+ setUserInfo ( prev => ( { ...prev , [ name ] : value } ) ) ;
104+ }
93105 setChangedFields ( prev => ( { ...prev , [ name ] : true } ) ) ;
94106 } ;
95107
@@ -393,9 +405,11 @@ export default function ProfilePage() {
393405 value = { userInfo . phone }
394406 onChange = { handleUserInfoChange }
395407 disabled = { ! isEditing }
408+ maxLength = { 13 }
396409 className = { `w-full py-2 pl-10 pr-3 rounded-lg ${
397410 ! isEditing ? 'bg-transparent' : currentTheme . inputBg
398411 } ${ currentTheme . text } border ${ currentTheme . border } focus:ring-blue-500 focus:border-blue-500`}
412+ placeholder = "010-1234-5678"
399413 />
400414 </ div >
401415 </ div >
0 commit comments