3

数字のみを許可するために正規表現を使用してい^[0-9]+$"ます。-ハイフンとスペースも許可したい。

正規表現を適切なものに変更するのを手伝ってくれる人はいますか?

私は同じことを達成するために次のJSコードを使用していましたが、このようにユーザーがテキストをコピーして貼り付けている場合、キーの押下は考慮されません。

//Allowed characters are : 8 = Back space,
//9 = Horizontal tab, 27 = esc, 127 = Delete,
//13 = Enter digits = 48 to 57, 45 = hypen

$('#PostalCode').keypress(function (e) {
    var key = (e.keyCode ? e.keyCode : e.which);
    return (key == 8 || key == 9 || key == 127 || key == 27 || key == 13 || key == 45 || (key >= 48 && key <= 57));
});
4

2 に答える 2

9

-次のように、文字クラスにとスペースを追加できます。

^[0-9 -]+$

必ず後ろか前のどちらかに置く-か(範囲と間違えられないので)、それをエスケープしてください:

^[0-9 \-]+$

と同等であるため、\dの代わりに使用することもできます。0-9

^[\d -]+$
于 2012-08-10T10:39:49.757 に答える
1

^[\d-\s]+$ハイフンも許可するために使用

于 2012-08-10T10:38:23.667 に答える