2016-08-16 36 views
0

有谁知道为什么我的正则表达式仍然允许将制表符字符粘贴到表单字段中?我想我正确地写......从答案正则表达式仍允许将制表符粘贴到表单字段

/^[a-zA-Z\s]+$/g 

建议到后:

self.City = ko.observable(model.City).extend({ required: true, maxLength: 30, pattern: /^[a-zA-Z ]+$/ }); 
+2

'\ s'做的。你需要做什么?如果你需要一个文字空间,用空格替换'\ s'。 –

+0

'\ s'是一个制表符,空格或换行符。 – chris85

+0

对,这不是我写的吗? –

回答

1

\s允许标签,还有更多的空白字符。

如果你需要一个文字空间替换\s一个空格。

你也不需要全局修饰符。

使用

/^[a-zA-Z ]+$/ 

在淘汰赛中,使用

self.City = ko.observable(model.City) 
    .extend({ required: true }) 
    .extend({ maxLength: 30 }) 
    .extend({ pattern: { 
       message: 'Only letters and spaces are allowed.', 
       params: '^[a-zA-Z ]+$' 
    }}); 
+0

对不起,但这没有奏效。它仍然允许通过将选项卡空间粘贴到字段中创建空白。任何其他想法? –

+0

它用在'ng-pattern'中吗?然后添加'ng-trim =“false”'。 –

+0

@DeanFriedland请显示,您如何使用该正则表达式来阻止粘贴选项卡。 – Teemu