2

我正在使用 Javascript 填充联系表格,但是由于添加方式,其中一个字符串以大写形式出现,即 SCHOOLNAME

<script type="text/javascript">
  var userName = '<ecom:PersonFirstName runat="server" /> <ecom:PersonLastName runat="server" />';
$('div.contact-form-name input').val(userName);

var school = '<acc:AccountName runat="server" />';
$('div.contact-form-school input').val(school);

</script>

是否可以将“学校”的案例更改为骆驼案例,无论最初如何找到,学校,学校,学校。

如果名称为“一号学校”应显示为“一号学校”,这也应适用

4

2 回答 2

2

您要匹配和替换的是:

  • 第一个字母应该是大写的
  • 该单词的其余部分应为小写

“单词”可以定义为前面有空格(或没有空格)的非空格字符。

  • ^|\s+表示:字符串或空格的开头
  • \S表示:一个非空白字符
  • \S*表示:任意数量的非空白字符

通过对它们进行分组,您可以使用传递给函数的参数:

"scHOOL NUMBER ONE".replace(
  /(^|\s+)(\S)(\S*)/g,
  function(match, whitespace, firstLetter, rest) {
    return whitespace + firstLetter.toUpperCase() + rest.toLowerCase();
  }
);
于 2012-08-29T13:09:21.783 回答
0

作为参考,另一种方法可以做到这一点。

                <script type="text/javascript">

                $(document).ready(function () {

                    String.prototype.toTitleCase = function () {
                        return this.replace(/\w\S*/g, function (text) {
                            return text.charAt(0).toUpperCase() + text.substr(1).toLowerCase();
                        });
                    };

                var userName = 'BOB IS A PERSON';
                userName = userName.toTitleCase();
                $('div.contact-form-name input').val(userName);
             });

                </script>
于 2012-08-29T13:16:40.357 回答