2015-01-18 4 views
0

여러 소수 자릿수가있는 MHz 단위로 입력 할 수있는 입력이 필요합니다. 즉html 입력시 여러 개의 소수점 구분 기호

14.010.56 MHz 

현재 제가

<input type="number" step="any" class="form-control" id="freq" placeholder="Frequency MHz"> 

로 입력을 가지고 있지만 이는 단지 그것이 '정상'플로트 것처럼 소수점 포인트를 사용하도록 허용된다. 이 작업을 수행 할 수 있습니까?

+0

나는 주파수를 쓰는 적절한 방법에 익숙하지 않다. -이 '14 천 10 점 56' 문자 그대로 '14 점 10 점 56 점'? 첫 번째 옵션 인 경우 반드시 '14,010.56'을 쉼표로 사용해야합니다. 두 번째 경우 표준 감안에서 "숫자"가 아니므로 입력 할 수 없습니다. 보통 일반 텍스트 상자가 필요하고 정규식 대신에 유효성을 검사해야합니다. – Rhumborl

+0

그 14 mhz 그 다음 10 khz 그 다음 56 hz. 귀하가 제안한 쉼표를 사용하는 방법 14,010.56은 KHz 표기법입니다. 즉, 14,000 및 10KHz는 14.010MHz입니다. 따라서 MHz 표기법을 찾고 있으므로 reg 표현을 추측 할 필요가 있지만 그 형식을 모를 수 있습니다. –

+0

A 14.010.56 MHz와 같은 표기법은 * 모든 * 로켈 규칙과 일치하지 않습니다. 그것을 받아들이는 것은 오도하기 쉽고 위험합니다. –

답변

1

HTML5는 제출시 확인되는 정규 표현식을 사용하는 input 요소에 pattern 속성을 도입합니다. \d+\.\d+\.\d+ :

<form> 
 
    <input type="text" name="freq" placeholder="Frequency MHz" pattern="\d+\.\d+\.\d+" /> 
 
    <input type="submit" value="GO" /> 
 
</form>

+0

이것은 굉장합니다 - 저에게 좋습니다! –

0

입력을 문자열로 받아 들인 다음 문자열을 분리하여 세 값의 배열을 만들 수 있습니까?

또는 세 개의 입력을 "."으로 구분하여 연속적으로 입력하십시오. 전화 번호로 자주 수행되는 것처럼

0

사용

는 당신이 필요로하는 정규 표현식은 아마 그럼 그냥 1 + 숫자, 점, 다음 1+ 숫자, 다음 점, 다음 1+ 자리입니다 이 정규 표현식

^[0-9]*\.{1}[0-9]*\.{1}[0-9]*$