我正在处理从 API 返回的 JavaScript 对象,该对象可能包含不是有效 JavaScript 变量名称的变量名称。 (这些名称在我正在使用的 API 的系统命名约定中有效)
在一种情况下,名称以数字开头,例如“5层楼”
将此名称转换为有效的 JavaScript 变量名称的最佳方法是什么?
(我熟悉合法 JavaScript 名称的形式。这个问题的一个有用答案是一种(希望很简单)算法,例如在名称中添加 $ 前缀,然后在将表单返回到 API 时将其删除)
(我注意到,如果 JavaScript API 不创建无效名称会更好)
最佳答案
请注意,我不确定您是否在询问 html 标识符名称(您提到“表单”)或 Javascript 变量标识符,但是如何删除非单词字符的任何字符(A-Z
、a-z
、0-9
、_
)并在前面添加下划线?
var v = ' .-*&*$*$W 5 foo Bar';
v = '_' + v.replace(/\W/g, '');
v; // _W5fooBar
.replace()
将删除 not legal in variable identifiers 的字符。
您也可以在合法变量名称前面添加 $
符号而不是下划线。
关于javascript - 将表单名称转换为有效 JavaScript 名称的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1904589/