javascript - 将表单名称转换为有效 JavaScript 名称的方法?

标签 javascript

我正在处理从 API 返回的 JavaScript 对象,该对象可能包含不是有效 JavaScript 变量名称的变量名称。 (这些名称在我正在使用的 API 的系统命名约定中有效)

在一种情况下,名称以数字开头,例如“5层楼”

将此名称转换为有效的 JavaScript 变量名称的最佳方法是什么?

(我熟悉合法 JavaScript 名称的形式。这个问题的一个有用答案是一种(希望很简单)算法,例如在名称中添加 $ 前缀,然后在将表单返回到 API 时将其删除)

(我注意到,如果 JavaScript API 不创建无效名称会更好)

最佳答案

请注意,我不确定您是否在询问 html 标识符名称(您提到“表单”)或 Javascript 变量标识符,但是如何删除非单词字符的任何字符(A-Za-z0-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/

相关文章:

php - 使用 Javascript 从多选列表中选择值

javascript - 数据在确认框中显示的方式有问题

javascript - 如何对页面导航进行单元测试?

javascript - 什么是对列表重新排序进行动画处理的 react.js 友好方式?

javascript - Karma 使用 externalUrl 单元测试 Angular JS 指令

javascript - 没有版本或哈希的缓存破坏

javascript - 未捕获的 ReferenceError : X is not defined - declaring object on js file, 在 html 按钮事件中进行引用

javascript - 事件委托(delegate)与闭包/For 循环?提供代码比较吗?哪种风格更好?

javascript - 自动调整字体大小以适应容器

javascript - 根据推荐人、用户代理显示不同的电话号码