0

文字を含むエントリ (基本的に az または AZ からのもの) を除外する単純なフォーム検証を作成しています。

これは私が現在使用しているものですが、私のスクリプトは 0 ~ 9 以外のもののみを拒否します。これは、検証したいピリオド、括弧、およびダッシュを拒否します。

var numericReg = /^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$/;
    if(number != "" && !numericReg.test(number)) {
    return false;

文字だけを確認するにはどうすればよいですか?

これを行う別の方法は、0 ~ 9 の数字と次の文字を含む入力のみを受け入れることです: "."、"-"、"("、")"

4

2 に答える 2

5

試してみる 2 つの正規表現。1 つ目は、指定した文字のみを含む文字列に一致します。2 番目は、az または AZ の文字を含まない文字列に一致します。

var isPhoneChar = /^[-.() \d]+$/;
var isNonAlpha = /^[^a-z]+$/i;

心に留めておいてください、isNonAlphaνṃȅɍǒǘṩ ȯẗḥḛṝ ḽëʈťĕřś から保護しません‼ </p>

x内線電話や+国際電話もご利用いただけます。

于 2012-10-02T00:54:10.380 に答える
1

これは、数値を直接引き出すためにいつでも使用できます。

コーヒースクリプト:

console.log number.match ///

  # Match the start of the string.
  ^

  # Get the first 3 digits.
  \(?(?=\d{3})(\d{3})[).\-\s]*

  # Get the next 3 digits.
  (\d{3})[.\-\s]*

  # Get the last 4 digits
  (\d{4})

  # End of the number
  $

///

Javascript (またはノード):

console.log(number.match(/^\(?(?=\d{3})(\d{3})[).\-\s]*(\d{3})[.\-\s]*(\d{4})$/));

以下は、CoffeeScript で動作を確認するために実行したテスト ケースです。

exports '1234567890'
exports '123 456 7890'

exports '123.456.7890'
exports '123 456.7890'
exports '123.456 7890'
exports '123456.7890'
exports '123.4567890'
exports '123456. 7890'

exports '123-456-7890'
exports '123 456-7890'
exports '123-456 7890'
exports '123456-7890'
exports '123-4567890'

exports '(123)456-7890'
exports '(123)4567890'
exports '(123) 4567890'
exports '(123)456 7890'
exports '(123) 456 7890'
exports '(123) 4567890'

そしてそれらの出力:

1234567890
[ '1234567890',
  '123',
  '456',
  '7890',
  index: 0,
  input: '1234567890' ]
123 456 7890
[ '123 456 7890',
  '123',
  '456',
  '7890',
  index: 0,
  input: '123 456 7890' ]
123.456.7890
[ '123.456.7890',
  '123',
  '456',
  '7890',
  index: 0,
  input: '123.456.7890' ]
123 456.7890
[ '123 456.7890',
  '123',
  '456',
  '7890',
  index: 0,
  input: '123 456.7890' ]
123.456 7890
[ '123.456 7890',
  '123',
  '456',
  '7890',
  index: 0,
  input: '123.456 7890' ]
123456.7890
[ '123456.7890',
  '123',
  '456',
  '7890',
  index: 0,
  input: '123456.7890' ]
123.4567890
[ '123.4567890',
  '123',
  '456',
  '7890',
  index: 0,
  input: '123.4567890' ]
123456. 7890
[ '123456. 7890',
  '123',
  '456',
  '7890',
  index: 0,
  input: '123456. 7890' ]
123-456-7890
[ '123-456-7890',
  '123',
  '456',
  '7890',
  index: 0,
  input: '123-456-7890' ]
123 456-7890
[ '123 456-7890',
  '123',
  '456',
  '7890',
  index: 0,
  input: '123 456-7890' ]
123-456 7890
[ '123-456 7890',
  '123',
  '456',
  '7890',
  index: 0,
  input: '123-456 7890' ]
123456-7890
[ '123456-7890',
  '123',
  '456',
  '7890',
  index: 0,
  input: '123456-7890' ]
123-4567890
[ '123-4567890',
  '123',
  '456',
  '7890',
  index: 0,
  input: '123-4567890' ]
(123)456-7890
[ '(123)456-7890',
  '123',
  '456',
  '7890',
  index: 0,
  input: '(123)456-7890' ]
(123)4567890
[ '(123)4567890',
  '123',
  '456',
  '7890',
  index: 0,
  input: '(123)4567890' ]
(123) 4567890
[ '(123) 4567890',
  '123',
  '456',
  '7890',
  index: 0,
  input: '(123) 4567890' ]
(123)456 7890
[ '(123)456 7890',
  '123',
  '456',
  '7890',
  index: 0,
  input: '(123)456 7890' ]
(123) 456 7890
[ '(123) 456 7890',
  '123',
  '456',
  '7890',
  index: 0,
  input: '(123) 456 7890' ]
(123) 4567890
[ '(123) 4567890',
  '123',
  '456',
  '7890',
  index: 0,
  input: '(123) 4567890' ]

number.matchがそのコードを返した場合null、それは有効な数値ではありません。これは簡単なチェック方法であり、数値はすでに解析されています。

を許可したい場合はa-z、すべての\dエントリを に変更して[\d\w]ください。(これを参照

于 2012-10-02T01:18:24.017 に答える