2016-08-16 4 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