function validateDecimal(number,maxDigits) { eval("var stringvar=/^[-+]?([0-9]*\.[0-9]{0,"+maxDigits+"})|([0-9]+)$/"); return stringvar.test(number); }
나는 십진법을 검증하기 위해 위의 함수를 썼다. 'maxDigits'변수는 소수 부분의 자릿수와 유효성을 검사 할 값인 'number'를 지정하는 데 사용됩니다. 하지만 그것은 예 : 24y와 같은 문자가 뒤에 오는 숫자 값으로 시도했을 때 'true'를 반환했습니다. 누군가 내 실수를 알아낼 수있게 도와 줄 수 있습니까?10 진수 유효성 검사를위한 정규식
당신은'여기 eval' 사용하지 마십시오 [정규식] (https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/RegExp) 생성자는 문자열을 인수로 취할 수 있습니다. –
앵커가 잘못 정렬되었으므로 숫자 뒤에 아무 것도 허용하지 않으려면'^ a $ |^b $'또는'^ (a | b) $'가 아닌'^ a | b $ ' 소수점 또는없이 숫자 앞에. – tripleee