正则表达式为文本字段

问题描述:

我希望每个单词都以大写字母开头,其余的都应该用小写字母输入文本字段。正则表达式为文本字段

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

+0

可能重复[Javascript - 如何将每个单词的首字母大写,如2个单词的城市?](http://stackoverflow.com/questions/4878756/javascript-how-to-capitalize-first每个单词的字母一个2字的城市) –

+0

意味着我想“Adfsd Dfad Cadsf”那样 –

+0

如果你输入大写字母,它不应该显示。 –

看起来像一个经典的大写功能。

input.value = input.value.replace(/\b[a-zA-Z]+/g, 
    function(m) {return m.charAt(0).toUpperCase()+m.substring(1).toLowerCase();}) 

假设你想验证某些输入,你应该写你的对手做什么不希望,然后否定它:

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

这正则表达式小写字母的开头匹配一个字或大写字母紧跟在另一个字母之后(即在一个字的中间)。如果你否定这个结果,就像我在这里完成的一样,你会得到你想要的验证。

MDN有一个很好的介绍,以Regular ExpressionsJavaScript RegExp object

为什么不使用CSS transform:capitalize,它会更容易? :D