다음 정규 표현식을 음수로 확장하고 싶습니다. 정규 표현을 음수로 확장하십시오.
this.value = this.value.replace(/[^0-9\.]/g, "");
나는 ("", /[^-0-9.]/g)이 같은 일을 빼기 기호를 추가하는 시도하지만이 마이너스 기호는 숫자에 어디를 입력 할 수 있습니다. 나는 숫자의 시작 부분에 오직 하나의 마이너스 기호 발생만을 허용하려고합니다. 나중의 발생은 무시되어야한다.
도와주세요.
다음 정규 표현식을 음수로 확장하고 싶습니다. 정규 표현을 음수로 확장하십시오.
this.value = this.value.replace(/[^0-9\.]/g, "");
나는 ("", /[^-0-9.]/g)이 같은 일을 빼기 기호를 추가하는 시도하지만이 마이너스 기호는 숫자에 어디를 입력 할 수 있습니다. 나는 숫자의 시작 부분에 오직 하나의 마이너스 기호 발생만을 허용하려고합니다. 나중의 발생은 무시되어야한다.
도와주세요.
어, 모든 숫자가 아닌 문자를 대체하는 것은 그 조금 어렵게 - 그것은 "부정"정규식 같다. [^0-9.]
일치 할 것 - - 내가 생각 해낸 것은 마이너스을 방지하는 negative lookahead이다는 문자열의 시작 부분에있는 경우 일치에 beeing에서 (A start anchor 사용) :
….replace(/(?!^-)[^0-9.]/g, "")
는 문자 클래스의 외부에서 대시를 넣어 :
는this.value = this.value.replace(/^-?[^0-9\.]/g, "");
OP는 (아마도 음수) 숫자의 일부가 될 수없는 모든 문자를 일치시키고 제거하려고합니다. – Bergi
왜 정규식? 방법에 대해 :
이 또한해야var temp = parseFloat(this.value)
this.value = isNaN(temp) ? "" : temp;
작업 :
var temp = +this.value;
this.value = isNaN(temp) ? "" : temp;
+1 좋은 아이디어지만 OP는'parseFloat'을 필요로합니다. – Bergi
당신에 의해 제공의 정규식은 "100 + 200 = 300"을 변환합니다으로 양수 자체의 결함에 "100200300" .
시도해 보시기 바랍니다. someString.match (/ -? [\ d] +.? [\ d] * /);
한 도트 만 허용하려면 어떻게 업데이트해야합니까? – bbodenmiller
두 번째 단계에서 모든 수 많은 도트를 제거하는 것이 가장 간단합니다. 정규식을 업데이트하는 것은 너무 복잡해집니다. – Bergi