如何检查sencha touch中的电子邮件字段验证?这里我的代码在应用程序中,请帮我解决这个问题
{
xtype: 'fieldset',
items:[{
xtype: 'emailfield',
inputType:'email',
labelWidth: '33%',
label: 'Email',
id:'emailId',
name: 'emailId',placeHolder:'emailId'}]
}
答案 0 :(得分:17)
直接在视图中激活验证的正确方法是:
{
xtype: 'textfield',
name: 'email',
vtype: 'email'
}
不需要正则表达式。
答案 1 :(得分:4)
如果您将字段存储为模型实例,则可以执行此操作。
Ext.define('User', {
extend: 'Ext.data.Model',
config: {
fields: [
{name: 'name', type: 'string'},
{name: 'emailId', type: 'string'}
{name: 'phone', type: 'string'}
]
},
validations: [
{type: 'presence', name: 'name',message:"Enter Name"},
{type: 'format', name: 'emailId', matcher: /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/, message:"Wrong Email Format"}
]
});
或者你可以匹配正则表达式
var ereg = /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
var testResult = ereg.test(emailId);
根据验证, testResult
将为真或假。
答案 2 :(得分:2)
对于用户输入的表单字段验证,请使用以下正则表达式
{ xtype: 'textfield', allowBlank:false, regex:/^((([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z\s?]{2,5}){1,25})*(\s*?;\s*?)*)*$/, regexText:'This field must contain single or multiple valid email addresses separated by semicolon (;)', blankText : 'Please enter email address(s)', }