땅콩북스프로젝트

TextArea null값 체크-정규식

나이많은 초보 2022. 11. 15. 22:04

채팅창 진행중입니다...

소소한 사용자 편의 기능을 개선하고 있습니다.

그중 입력할 때 엔터키....

채팅할때 매번 버튼을 마우스로 안하잖아요...

저도 엔터키 이벤트를 했습니다.....

////버튼키를 클릭했을때
	$('#getResult').on('click',function(){
		var text=$('#usertext').val();
		if(text.length != 0){
		 sendChatMesage();
		}
	});
// 엔터키를 쳤을 때	
	$('#usertext').on('keyup',function(e){
		var text=$('#usertext').text();
		if(e.keyCode==13){
			if(text.length != 0 ){
				 sendChatMesage();
			};
		};
	});

버튼키를 눌렀을 때는 null값을 잡아서 넘어가지 않도록 한건데 문제는 이건 금방 되었습니다.

문제는 엔터키 였어요..0값이 확인이 되었는데 그냥 빈칸 값이 전달되는거예요

너무 보기 싫으잖아요......이거 css잡기도 어렵고.....인터넷 복붙한거라 만지기 어려워요...ㅠㅠ

보니깐 textArea의 0값이 콘솔에서 확인되고 if문도 확인되도 실제 구동은  "/n" 값이 확인되라구요...

반나절 조회하다가 저녁약속있어서 술한잔 하고....집에 와서 잠깐들여다 보는데

그제서야 textarer 빈값체크해보기로 검색하자.........생각이 나더라구요.

그랬더니 여러가지 조회되었는데 그중 이게 먹혀서 글 올려봅니다.

	$('#magText').on('keyup',function(e){		
		if(e.keyCode===13){
			var text=$('#magText').val();
			if(text.replace(/(^\s*)|(\s*$)/gi, "") ){   //정규식 뭐규식 인거...
				 sendChatMesage();
			}
		    $('#magText').val('');			//엔터값도 없에주는 부분
		};
	});

이렇게 하니 간단히 먹히네요...

0값이 안먹혀서 textarea 값을  text()로 도 했는데 콘솔에서는 되지만 값으로는 잘 안되었어요...

이것도 검색하니 val()이 맞았습니다.

빈값을로 하는 것도 if문 밖에서 하니깐 빈값이 아니라 실제 대화 내용을 입력하려고 해도 다 지워집니다.

엔터키일때만 지워지도록 if문 안으로 넣었더니 원하는데로 깔끔하게 떨어집니다^^