Closed Bug 446252 Opened 17 years ago Closed 12 years ago

Borrow and enhance String Methods from .Net to JavaScript

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: BijuMailList, Unassigned)

References

()

Details

Per bug 305064 comment #18 > > 5. > > There also other useful methods > > http://msdn.microsoft.com/en-us/library/system.string_members.aspx > > like StartsWith/EndsWith, IndexOfAny, > > PadLeft/PadRight (or better PadStart/PadEnd/PadCenter) > > bug 76946 talks about StartsWith/EndsWith. As for the others, > you can file bugs them. There are a list of nice String Methods in .Net (http://msdn.microsoft.com/en-us/library/system.string_members.aspx) which we may borrow and enhance to use in JavaScript eg:- 1. PadLeft/PadRight (or better PadStart/PadEnd/PadCenter) - PadLeft is something I used for years to generate things like bill#, product#, contract# etc. to get '0' padded number as in 'PO000454', 'INV09854', 'KIT-0067-00378' etc 2. Compare(String, String, StringComparison) / Equals(String, StringComparison) - it will be nice if we can compare two strings by giving ignore case rules or the by the name from Java equalsIgnoreCase http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html 3. IndexOfAny, LastIndexOfAny - We have indexOf and lastIndexOf of in JavaScript but many times we will be interested in looking for first occurrence of a list of "NEEDLES in haystack" rather than one string in haystack also it may be good if we can IGNORE CASE like above as needed.
Why borrow from .NET only. There are many very useful string functions in lets say PHP: http://se.php.net/manual/en/ref.strings.php Personally I use quit a few of them, and make use of a library of JS implementations of PHP functions. Eg. levenshtein is great to check if someone has altered the suggested text in a form field "enough".
There are many, many libraries to imitate. I don't have anything against the .NET ones _per se_. I'm not in favor of native methods where scripted ones would do. Unnecessary attack surface, increasingly bogus performance reasoning (trace-tree JIT coming), code footprint micro-bloat (it wasn't the last cookie I ate that made me fat). It would be better to look at JS ("Ajax") libraries that are populare today, and intersect their string method sets. Anyone up for that? /be
New methods need to come from the spec.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.