質問

入力フィールドを検証したい。ユーザーは、最小長さ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

したがって、それを検証することに関しては、いくつかのオプションがあります。

  • 正規表現を使用して検証し、次をご覧ください。

    http://regexlib.com/

    このサイトには何百もの例があります

  • ループを使用して各文字を順番に確認します。つまり、文字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 
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top