星期四, 8月 28, 2014

javascript trim() not supported

這應該算蠻常用的功能,但在 IE 8 或更早的版本都不支援,因此要請 jQuery 幫忙,或參考 MDN 上一個漂亮的解法:

if (!String.prototype.trim) {
  String.prototype.trim = function () {
    return this.replace(/^\s+|\s+$/g, '');
  };
}
不過有時候問題的本質並沒這麼複雜,例如只想要確定欄位是否有輸入任何字,但零到多個空白都算是沒輸入的話,其實這樣也夠了:
  • var trimmed = window.document.getElementById("someField").value.replace(/ /g, "");
  • if (trimmed == "") {
  •    alert("nothing");
  • }

沒有留言:

張貼留言