lookahead, , . - , . - , - lookahead.
var nameRegex = /^(?!-)[a-zA-Z-]*[a-zA-Z]$/;
var nameRegex = /^(?!-)(?!.*-$)[a-zA-Z-]+$/;
var nameRegex = /^(?!-)[a-zA-Z-]*[a-zA-Z]$/;
var nameRegex1 = /^(?!-)(?!.*-$)[a-zA-Z-]+$/;
function validName(n) {
if (n.match(nameRegex) == null) {
return "Wrong";
} else {
return "Right";
}
}
function validName1(n) {
if (n.match(nameRegex1) == null) {
return "Wrong";
} else {
return "Right";
}
}
console.log(validName('abc'));
console.log(validName('abc-'));
console.log(validName('-abc'));
console.log(validName('-abc-'));
console.log(validName('a-b-c'));
console.log(validName1('abc'));
console.log(validName1('abc-'));
console.log(validName1('-abc'));
console.log(validName1('-abc-'));
console.log(validName1('a-b-c'));
Hide resultFYI: RegExp#test .
if(nameRegex.test(n)){
return "Right";
}
else{
return "Wrong";
}
:.
- , 0 ,
-, @WiktorStribiżew.
var nameRegex = /^[a-zA-Z]+(?:-[a-zA-Z]+)*$/;