使用jquery首先将字符串数据中的所有大写单词写入

时间:2010-10-29 22:27:03

标签: javascript jquery regex

我的字符串数据如下。

var HmtlStr = "<span>My names is <u>KERBEROS</u>. AGE: 29, my eyes <b>BROWN</b>.</span"

结果必须像我想要的那样;

<span>My names is <u>Kerberos</u>. Age: 29, my eyes <b>Brown</b>.</span

非常感谢你的帮助,现在已经。

3 个答案:

答案 0 :(得分:5)

也许CSS text-transform: capitalize会起作用吗?

答案 1 :(得分:4)

使用替换中的函数来更改字符串:

HmtlStr = HmtlStr.replace(
  /([A-Z])([A-Z]+)/g,
  function(a,m1,m2) {
    return m1 + m2.toLowerCase();
  }
);

编辑:

内置的toLowerCase方法处理大多数字符,您只需将它们包含在正则表达式([A-ZÖİŞÜĞÇ])的集合中,以便处理它们。要处理内置方法无法处理的少数几个字符,您可以创建一个先替换它们的函数:

function localLowerCase(str) {
  str = str.replace(
    /İ/g,
    function(m){
      var i = "İ".indexOf(m);
      return i != -1 ? "ı"[i] : m;
    }
  );
  return str.toLowerCase();
}

您可以通过/İ/模式,"İ"字符串和"ı"字符串中的替换添加更多字符来处理要处理的函数。

答案 2 :(得分:0)

试试这个:

   'apple cat dog stack overflow'.replace(/(\b)([a-zA-Z])/g,
       function(firstLetter){
          return   firstLetter.toUpperCase();
       })

:)