使用 regEx 验证属性名称

tyl*_*zie 3 javascript regex

我想使用点表示法规则(任何字母或数字以及只要它不以数字开头)快速检查字符串是否可以有效用作属性名称,_显然$如果括号表示法使用后一切都有效。

我一直在尝试找出正则表达式解决方案,但我对正则表达式的了解并不多。我认为我当前的模式将允许字母、数字,$_我不知道如何禁止以数字开头

function validName(str){
    // check if str meets the requirements 
    return /^[a-zA-Z0-9$_]+$/.test(str);
}

validName("newName")    // should return TRUE
validName("newName32")  // should return TRUE
validName("_newName")   // should return TRUE
validName("4newName")   // should return FALSE
validName("new Name")   // should return FALSE
validName("")           // should return FALSE
Run Code Online (Sandbox Code Playgroud)

Sco*_*ger 5

由于\w封面[a-zA-Z0-9_]\d封面[0-9]你可以使用这个正则表达式:

const validName = str => /^(?!\d)[\w$]+$/.test(str);

console.log(validName("newName")) // should return TRUE
console.log(validName("newName32")) // should return TRUE
console.log(validName("_newName")) // should return TRUE
console.log(validName("4newName")) // should return FALSE
console.log(validName("new Name")) // should return FALSE
console.log(validName("")) // should return FALSE
Run Code Online (Sandbox Code Playgroud)