整数の文字列を確認してください
-
11-10-2019 - |
質問
入力フィールドを検証したい。ユーザーは、最小長さ10桁の電話番号を入力する必要があります。
ですから、違法な請求を確認する必要があります。ホイザーをチェックするだけで、入力が整数であるかどうかを確認するのはいいことです。
私はこれを思いつきましたが、それは機能しません(nは文字列になります)。
function isInt(n){
return typeof n== 'number' && n%1==0;
}
何か案は?
解決
このようなテストを行うことができます:
input.length >= 10 && /^[0-9]+$/.test(input)
文字列に非桁がある場合、または文字列が長さ10枚未満である場合、それは失敗します
他のヒント
これは機能するはずです((input - 0)
値を数値に自動的に変換しようとします):
function isInt(input){
return ((input - 0) == input && input % 1==0);
}
この問題については、すでにいわゆる質問があります。 javascriptの小数を検証-isnumeric()
あなたにとっては過剰かもしれませんが、Googleはそれほど前に発表していません 図書館 電話検証用。 JavaおよびJavaScriptバリアントが利用可能です。
電話番号の検証は、入力が整数であるかどうかを確認するよりも少し複雑です。例として、電話番号はゼロから始めることができます。また、ユーザーはダッシュを入力できます:例:
00 34 922-123-456
したがって、それを検証することに関しては、いくつかのオプションがあります。
正規表現を使用して検証し、次をご覧ください。
このサイトには何百もの例があります
ループを使用して各文字を順番に確認します。つまり、文字intまたはダッシュです
前者はユーザーからの一貫した入力に依存しているので、前者をお勧めしますが、あなたはそれを取得するつもりはありません
使用してみませんか:
return (+val === ~~val && null !== val);
あなたの機能のリターンとして?
これは、JavaScriptコンソールの出力です
> +"foobar" === ~~"foobar"
false
> +1.6 === ~~1.6
false
> +'-1' === ~~'-1'
true
> +'-1.56' === ~~'-1.56'
false
> +1 === ~~1
true
> +-1 === ~~-1
true
> +null === ~~null // this is why we need the "&& null !== val" in our return call
true