티스토리 뷰
let priceNum = $("input[name=nftPrice]").val();
let pattern = /^(\d{1,12})([.]\d{0,10}?)?$/;
if ( !pattern.test(priceNum) && priceNum != ''){
if( priceNum.indexOf('.') > 0 ) {
if( priceNum.toString().split(".")[0].length > 12 && priceNum.toString().split(".")[1].length > 10 ) {
$('#integralError').removeClass('hide');
$('#integralError').text('소수점 위로 최대 12자리까지 입력 가능합니다.');
$('#demicalError').removeClass('hide');
$('#demicalError').text('소수점 아래로 최대 10자리까지 입력 가능합니다.');
} else if (priceNum.toString().split(".")[1].length > 10 && priceNum.toString().split(".")[0].length < 12){
$('#demicalError').removeClass('hide');
$('#demicalError').text('소수점 아래로 최대 10자리까지 입력 가능합니다.');
} else if (priceNum.toString().split(".")[1].length < 10 && priceNum.toString().split(".")[0].length > 12) {
$('#integralError').removeClass('hide');
$('#integralError').text('소수점 위로 최대 12자리까지 입력 가능합니다.');
$('#demicalError').addClass('hide');
}
} else if ( priceNum.indexOf('.') < 0 ) {
if(priceNum.toString().length > 12) {
$('#integralError').removeClass('hide');
$('#integralError').text('최대 12자리까지 입력 가능합니다.');
$('#demicalError').addClass('hide');
}
}
} else {
$('#integralError').addClass('hide');
$('#demicalError').addClass('hide');
}
};
소수점 기준 앞자리, 뒷자리 자리수 확인하기
[기능]
1. 소수점 앞자리 12자리 입력 가능, 초과시 유효성 문구1이 나옵니다.
2. 소수점 뒷자리 10자리 입력 가능, 초과시 유효성 문구2가 나옵니다.
3 소수점 앞자리, 뒷자리 둘 다 초과 시, 유혀성 문구1, 유효성문구2가 같이 나옵니다.
[코드설명]
1. 정규식
let pattern = /^(\d{1,12})([.]\d{0,10}?)?$/
-숫자만 입력 가능 하며, 소수점 앞 12자리, 소수점 뒤 10자리 입력합니다.
2. 소수점이 있는지 없는지 확인합니다.
- indexOf 를 사용하여 소수점이 있는지 없는지 확인합니다.
소수점이 있다면 0보다 큰 값을 반환할 것 이고, 소수점이 없다면 -1을 반환 할 것입니다
[참고] https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf
Array.prototype.indexOf() - JavaScript | MDN
indexOf() 메서드는 배열에서 지정된 요소를 찾을 수 있는 첫 번째 인덱스를 반환하고 존재하지 않으면 -1을 반환합니다.
developer.mozilla.org
2-1. 소수점이 있을 때
자리수 체크를 위하여 문자열의 갯수를 확인
- PriceNum.toString().split(".")[0].length
- toString() : 숫자 타입을 문자 타입으로 변경
- split(”.”)[0] / split(”.”)[1] : split() 은 하나의 텍스트를 기준이 되는 텍스트로 분리하여 여러개의 값을 가진 배열로 변환 후 반환하여 줍니다.
위의 코드에서 split(”.”)[0]은 소수점 앞 / split(”.”)[1] 은 소수점 뒷자리 입니다.
[조건]
- 소수점 앞 12자리 초과 , 소수점 뒤 10자리 초과
- 소수점 앞 12자리 초과, 소수점 뒤 10자리 미만
- 소수점 앞 12자리 미만, 소수점 뒤 10자리 초과
2-2. 소수점이 없을 때
[조건]
1 ) PriceNum.toString().length이 12개 초과 했을 때
See the Pen Untitled by 현정 (@Celine__509) on CodePen.
'프론트엔드 > javaScript, jQuery' 카테고리의 다른 글
[mongoose] 스키마 Schemas, 모델 Model (0) | 2023.02.01 |
---|---|
[jQuery, javaScript] 팝업창 제외 배경 선택 시 팝업 닫기 (0) | 2022.04.12 |
[javaScript] setTimeOut() (0) | 2021.12.23 |
[jQuery]for문을 이용한 Tab-Menu 만들기 (0) | 2021.12.20 |
[javaScript] 인증번호 3분 countdown (0) | 2021.09.21 |
- Total
- Today
- Yesterday
- npm
- react portal
- 탭메뉴
- react
- slick-slide
- 프론트엔드
- 제이쿼리
- frontend
- jQuery
- 슬릭 슬라이드
- paging-custom
- node.js
- Portal
- 로그인폼
- javascript
- excel down
- excel custom
- 프론트엔드개발
- 페이징 커스텀
- 퍼블리셔
- HTML
- css3
- react excel 다운
- 리액트 포탈
- file-saver
- 개발
- 디자인시스템만들기
- React.js
- CSS
- 퍼블리싱
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |