function validInteger(theNumber){
var anyNonDigits = new RegExp('\D','g');
if(parseInt(theNumber)&&!anyNonDigits.test(theNumber)){
return true;
}else{
return false;
}
}
上記は、入力を検証するために作成した関数です。すべての正の整数が必要です。私が直面している問題は、RegExp オブジェクトにあります。これは非常に単純なはずですが、何らかの理由で機能していません。
たとえば、'f5' を渡すと true になりますが、'5f' を渡すと false になります。負の数を渡すときにも問題があります。-3 は、変数を RegExp に渡す前に文字列化しても捕捉されません。if ステートメントに' ' を追加することでこれを修正できます&&parseInt(theNumber)>0
が、RegExp もそれをキャッチする必要があるように感じます。前もって感謝します!