1

我希望每个单词都以大写字母开头,其余部分在输入文本字段时应以小写字母开头。

我不知道如何给出正则表达式。

4

3 回答 3

4

为什么不使用 css transform:capitalize会更容易?:D

于 2012-05-23T14:01:00.460 回答
2

看起来像一个经典的大写函数。

input.value = input.value.replace(/\b[a-zA-Z]+/g,
    function(m) {return m.charAt(0).toUpperCase()+m.substring(1).toLowerCase();})
于 2012-05-23T13:02:57.917 回答
0

假设您想验证某些输入,您应该为您想要的内容编写一个匹配项,然后将其取反:

!( /\b[a-z]|\w[A-Z]/.test(input_string) )

此正则表达式匹配单词开头的小写字母或紧随另一个字母(即单词中间)的大写字母。如果你否定这个结果,就像我在这里所做的那样,你会得到你想要的验证。

MDN 对正则表达式JavaScript RegExp 对象有很好的介绍

于 2012-05-23T13:13:30.043 回答