我使用以下代码使用RegEx
验证字符串。
if(!this.validate(this.form.get('Id').value)) {
this.showErrorStatus('Enter valid ID');
return;
}
validate(id) {
var patt = new RegExp("^[a-zA-Z0-9.]{1,}$");
return patt.test(id);
}
应该接受,
santosh.jadi
santosh.jadi.others
不应该接受,
.santosh.jadi
santosh.jadi.
santosh..jadi
任何人都可以解释一下,我错过了什么?
答案 0 :(得分:0)
您可以使用/^[a-zA-Z]+[.][a-zA-Z]+$/gm
:
^ // asserts position at beginning of line
[a-zA-Z] // matches letters
+ // matches 1 or more times
[.] // matches a period
[a-zA-Z] // matches letters
+ // matches 1 or more times
$ // asserts position at end of string
var rgx = /^[a-zA-Z]+[.][a-zA-Z]+$/gm
console.log(rgx.test('chris.zimmerman'))
console.log(rgx.test('.chris.zimmerman.'))
console.log(rgx.test('chris..zimmerman'))
console.log(rgx.test('ch3ris.zimmerman'))

如果您想允许多个点,例如chris.w.zimmerman
,您可以使用^[a-zA-Z]+([.][a-zA-Z]+)+$
var rgx = /^[a-zA-Z]+([.][a-zA-Z]+)+$/gm
console.log(rgx.test('chris.zimmerman'))
console.log(rgx.test('chris..zimmerman.'))
console.log(rgx.test('chris.zimmerman.'))
console.log(rgx.test('chris.w.zimmerman'))

答案 1 :(得分:0)
正则表达式是: / ^ [a-z] +([.-]?[a-z] +)?$ /
脚本:
var text = 'abc.def';
var pattern = /^[a-z]+([\.\-]?[a-z]+)?$/;
if (text.match(pattern)) {
print("YES!");
} else {
print("NO!");
}
希望这可以帮助你。
答案 2 :(得分:0)
这有效^[a-zA-Z]+([\.\-]?[a-zA-Z]+)+$
if(!this.validate(this.form.get('Id').value)) {
this.showErrorStatus('Enter valid ID');
return;
}
validate(id) {
var patt = new RegExp("^[a-zA-Z]+([\.\-]?[a-zA-Z]+)+$");
return patt.test(id);
}