Sencha Touch匹配器如何工作?

我正在尝试创建一个匹配任何由字母数字字符组成的字符串的简单匹配器。我尝试了以下方法:
    Ext.regModel('RegistrationData', {
        fields: [
            {name: 'nickname',type: 'string'},
        ],

        validations: [
            {type: 'format', name: 'nickname', matcher: /[a-zA-Z0-9]*/}
        ]
    });
但是这不能按预期工作。我没有找到任何关于匹配器中正则表达式应该如何的文档。 谢谢你的帮助。     
已邀请:
我在sencha.com上找到了一个博客,他们在那里解释了验证。 我不知道什么是sencha-touch,但也许它会有所帮助,当你告诉我们你给你的正则表达式做什么,你期望它做什么,以及它实际做了什么(不能按预期工作有点模糊) 。根据博客,它接受“正则表达式格式”,所以对于你的简单检查,它应该是非常标准的。 编辑: 作为一个疯狂的猜测,也许你想使用锚来确保名称只有字母和数字:
/^[a-zA-Z0-9]*$/
^
匹配字符串的开头
$
匹配字符串的结尾     
您当前的正则表达式
/[a-zA-Z0-9]*/
将匹配包含零个或多个小写字母(A-Z)或字符串中任何位置的数字的字符串。这就是为什么
Joe#2
J/o/e
*89Joe
以及
Joe
,Joe24
and
jOe28`匹配 - 它们都包含零个或多个相应字符的后续出现。 如果你想让你的字符串只包含相应的字符,你必须根据stema的答案改变正则表达式:
/^[a-zA-Z0-9]*$/
但这还有一个问题。由于
*
测量零次或多次出现,它也匹配一个空字符串,所以正确的字符串应该是:
/^[a-zA-Z0-9]+$/
+
表示一次或多次出现。这将允许昵称仅包含一个小写或大写字符或数字,例如
a
F
6
。     

要回复问题请先登录注册