これは、数値を直接引き出すためにいつでも使用できます。
コーヒースクリプト:
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]
ください。(これを参照)