asp.net プロジェクトで、テキスト ボックスに入力中に数字をグループ化したい。例: 123456123456 123.456.123.456
私の目的は、IPアドレスをグループ化することではありません。数字を読みやすくしたい。例: 12.000.152.156.123.156
これどうやってするの?
asp.net プロジェクトで、テキスト ボックスに入力中に数字をグループ化したい。例: 123456123456 123.456.123.456
私の目的は、IPアドレスをグループ化することではありません。数字を読みやすくしたい。例: 12.000.152.156.123.156
これどうやってするの?
編集:代わりにサーバー側でそれを行いたい場合(javascriptにタグを付けないでください。人々はクライアント側のソリューションを提供するために多くの時間を費やしてきました):
double number = 123456123456;
String numeric = String.Format("{0:#,0}", number); // "123.456.123.456"
http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx
バレクサンドルによって追加されました
いつでも簡単な検証を追加できます
using System.Net;
IPAddress ip = new System.Net.IPAddress();
if(IPAddress.TryParse(numeric, out ip))
// you get a valid IP Address in the ip variable
else
// IP Address not valid, go back and ask again...
数値文字列値に千区切り記号を追加する場合は、次の関数を使用できます。
<script type="text/javascript">
function groupDigit(strDigit, separator) {
if (separator == null || separator.length == 0) separator = ".";
strDigit += '';
x = strDigit.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + separator + '$2');
}
return x1 + x2;
}
</script>
テスト:
alert(groupDigit("123456123456", ".")); // 123.456.123.456
このJqueryプラグインを使用できますhttp://webdeveloperplus.com/jquery/how-to-mask-input-with-jquery/
これの利点は、フォーマットがどのようになるかをユーザーに正確に表示することです。