vai*_*hav 4 javascript angularjs
我正在使用Angular JS,我正在为英国邮政编码进行验证.问题是有一个特定的要求,即英国邮政编码中应该有一个空格,只能通过计算最后一个字符来识别.因为在第三个最后一个字符之前应该有一个空格它应该是这样的:
A12 3AD
A123 3AD
A2 2AD
为此,我有两个主要问题:
如何操纵输入值来诱导空间.
如何实际更改字符串以添加空间
我是新手,javascript/angular
有人可以告诉我该怎么做吗?
PS:我没有在项目中使用jQuery.
使用String#replace
方法并将前3个字符替换为前导空格或使用正向前瞻断言断言位置并替换为空格.
string = string.replace(/.{3}$/,' $&');
// or using positive look ahead assertion
string = string.replace(/(?=.{3}$)/,' ');
Run Code Online (Sandbox Code Playgroud)
console.log(
'A123A123'.replace(/.{3}$/, ' $&'), '\n',
'A13A123'.replace(/.{3}$/, ' $&'), '\n',
'A1A123'.replace(/.{3}$/, ' $&'), '\n',
'AA123'.replace(/.{3}$/, ' $&'), '\n',
'A123'.replace(/.{3}$/, ' $&'), '\n',
'A123'.replace(/(?=.{3}$)/, ' ')
)
Run Code Online (Sandbox Code Playgroud)
或者你可以使用String#split
和Array#join
方法与积极的前瞻断言正则表达式.
string = string.split(/(?=.{3}$)/).join(' ');
Run Code Online (Sandbox Code Playgroud)
console.log(
'A123A123'.split(/(?=.{3}$)/).join(' ')
)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2991 次 |
最近记录: |