String.Format.Js 1.14.0

This is a JavaScript implementation of the .NET Framework method String.Format, which you can use for building strings with formatted numbers, formatted dates, or just concatenate strings with other objects in a convenient way (especially if you have a localized web application).

Currently the script takes less than 5 kB, excluding additional localizations. The localizations offer a culture specific formatting of numbers, regardig radix points, thousands separators, currency, and of dates, regarding the names of the months and days, time formatting etc. Most of the .NET cultures are available.

There is a newer version of this package available.
See the version list below for details.
Install-Package String.Format.Js -Version 1.14.0
dotnet add package String.Format.Js --version 1.14.0
<PackageReference Include="String.Format.Js" Version="1.14.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add String.Format.Js --version 1.14.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

String.format for JavaScript

This is a JavaScript library for string, date and number formatting. Formatting
is done using format strings almost completely compatible with the String.Format
method in Microsoft .NET Framework.

How to use

To use the library, include the library itself and optionally the cultures you
are targetting. Note that if no culture files are included, the invariant
culture will be used.

<script type="text/javascript" src="stringformat-X.XX.min.js"></script>
<script type="text/javascript" src="cultures/stringformat.en.js"></script>
<script type="text/javascript" src="cultures/stringformat.sv.js"></script>

Then you're ready to go. Here are two simple examples using indexes and object
paths/named parameters.

// Index
String.format(
    "Welcome back, {0}! Last seen {1:M}", 
    "John Doe", new Date(1985, 3, 7, 12, 33)
    );
    
// Outputs: 
// Welcome back, John Doe! Last seen April 07

// Named parameters
String.format(
    "Welcome back, {user.name}! Last seen {lastseen:M}", 
    { 
        user: {
            name : "John Doe", 
            age : 42
        },
        lastseen: new Date(2009, 3, 7, 12, 33) 
    });
    
// Outputs: 
// Welcome back, John Doe! Last seen April 07

By default the browser culture will be used, given that the appropriate culture
file has been referenced from the page. To set culture explicitly, use the
sffjs.setCulture method, which accepts a IETF language code.

sffjs.setCulture("sv");

See more

Compatibility with .NET implementation

The output of this library is highly compatible with the output from the .NET
implementation. In this section differences will be listed

  • Date format
    • Date format specifier O is not supported
    • Date format specifier R is not supported
  • Number format
    • Number format specifier c ignores specified precision

Other types does not have a format implementation, and is thus serialized to a
string by the __Format function or the Javascript runtime using the toString function.

These are additions in this implementation, and thus not supported by the .NET implementation:

  • Object paths/named parameters

String.format for JavaScript

This is a JavaScript library for string, date and number formatting. Formatting
is done using format strings almost completely compatible with the String.Format
method in Microsoft .NET Framework.

How to use

To use the library, include the library itself and optionally the cultures you
are targetting. Note that if no culture files are included, the invariant
culture will be used.

<script type="text/javascript" src="stringformat-X.XX.min.js"></script>
<script type="text/javascript" src="cultures/stringformat.en.js"></script>
<script type="text/javascript" src="cultures/stringformat.sv.js"></script>

Then you're ready to go. Here are two simple examples using indexes and object
paths/named parameters.

// Index
String.format(
    "Welcome back, {0}! Last seen {1:M}", 
    "John Doe", new Date(1985, 3, 7, 12, 33)
    );
    
// Outputs: 
// Welcome back, John Doe! Last seen April 07

// Named parameters
String.format(
    "Welcome back, {user.name}! Last seen {lastseen:M}", 
    { 
        user: {
            name : "John Doe", 
            age : 42
        },
        lastseen: new Date(2009, 3, 7, 12, 33) 
    });
    
// Outputs: 
// Welcome back, John Doe! Last seen April 07

By default the browser culture will be used, given that the appropriate culture
file has been referenced from the page. To set culture explicitly, use the
sffjs.setCulture method, which accepts a IETF language code.

sffjs.setCulture("sv");

See more

Compatibility with .NET implementation

The output of this library is highly compatible with the output from the .NET
implementation. In this section differences will be listed

  • Date format
    • Date format specifier O is not supported
    • Date format specifier R is not supported
  • Number format
    • Number format specifier c ignores specified precision

Other types does not have a format implementation, and is thus serialized to a
string by the __Format function or the Javascript runtime using the toString function.

These are additions in this implementation, and thus not supported by the .NET implementation:

  • Object paths/named parameters

Dependencies

This package has no dependencies.

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.16.1 111 7/22/2019
1.16.0 422 4/5/2019
1.15.0 472 1/27/2019
1.14.0 430 9/9/2018
1.13.0 857 5/17/2017
1.12.0 460 2/22/2017
1.11.0 6,393 7/31/2016
1.10.0 757 10/9/2015
1.9.0 4,377 1/26/2014