不是模式的TextField条件

时间:2013-09-12 09:55:14

标签: extjs

我是ExtJS的新手。 考虑下面的Textfield声明:

{
    xtype: 'textfield',
    id:'lcfirstname',
    name: 'lcfirstname',
    maxLength: 100,
    regex: '/^\s*[a-zA-Z0-9-_]*$/'
}

我能够根据模式编写一个模式,可以在文本字段中输入所有模式。但我需要在文本字段中编写模式,使文本字段不应采用那些模式 (即不是正则表达式那样EXT JS中有什么东西?)。模式可以包含所有特殊符号。

这里需要帮助!!

2 个答案:

答案 0 :(得分:0)

有两种方法可以解决这个问题:

  • 你可以使用正则表达式:
{
    xtype: 'textfield',
    id:'lcfirstname',
    name: 'lcfirstname',
    maxLength: 100,
    regex: /^(?!.*[a-zA-Z0-9-_])/
}
  • 或者您可以编写自定义验证器:
{
    xtype: 'textfield',
    id:'lcfirstname',
    name: 'lcfirstname',
    maxLength: 100, 
    invalidChars: '[a-z]',
    validator: function(value) {
        var me = this;            
        return new RegExp('^(?!.*' + me.invalidChars + ')' ).test(value);
    }    
}

答案 1 :(得分:0)

选择前 (3) 三个字母字符,然后不包括其他最后一个字符

正则表达式:

/^[a-zA-Z0-9]{3,}(?!.*[~`@#$%^={}*:;,.<>+?½£|])/