1

好吧,我有一个<p:inputText>in primefaces,但我想知道我怎样才能只允许大写单词而不允许特殊字符。例如:雷纳托·卡尔哈萨 = 雷纳托·卡尔哈卡

4

2 回答 2

2

你可以添加你的 inputText

<p:inputText onblur="this.value = this.value.toUpperCase();"/>

最后在你的css中包含

.ui-inputtext, .ui-inputfield{
    text-transform: uppercase;    
    }

更新: 如果您使用 primefaces 6+,您可以使用组件 p:keyFilter

http://www.primefaces.org/showcase/ui/input/keyFilter.xhtml

<p:inputText id="text1">
    <p:keyFilter regEx="/[ABC]/i"/>
</p:inputText> 
于 2016-11-15T01:10:05.657 回答
1

"Renato".toUpperCase()将字符串转换为大写。

看看java.text.Normalizer将(一些,不是全部)重音字符转换为标准字符。

要禁止小写和/或特殊字符,您应该使用验证器。一个简单的正则表达式将识别特殊字符[^a-zA-Z0-9]或特殊和小写字符[^A-Z0-9]。验证器还可以使用上述两种方法修改输入 - 尽管您可能希望确保用户知道这种情况正在发生。

于 2013-08-23T17:21:11.133 回答