什么用作字符串分隔符?

时间:2012-05-04 22:30:41

标签: html regex drop-down-menu

我将使用某种分隔符来定义字段标签,字段数据和下拉列表选项文本中的单独字段之间的边界。这将用于解析侧面视觉的文本。用户将能够看到分隔符。

我应该使用什么作为用户不会注意到但仍然可以在正则表达式中轻松区分的分隔符?

我在考虑使用方括号(数据中没有括号,其他分隔符也可以进行筛选)。

[ --select some option-- ]
 | [name] Travis [number] 9801 [root] 99 |

4 个答案:

答案 0 :(得分:3)

如果这只是将数据与要在客户端处理的元素相关联,则更好的方法可能是将此信息存储在数据属性中。例如:

<select>
    <option value="1" data-name="Travis" data-number="9801" data-root="99">Travis</option>
</select>

然后JavaScript可以使用数据属性(使用jQuery它是yourOption.data('root'),而使用普通JavaScript可以像普通属性一样使用它),除非他查看你的源代码,否则用户甚至不会知道它。

答案 1 :(得分:2)

考虑将数据放入OPTION元素的值......你甚至可以在那里使用JSON:

<option value="{name:Travis, number:9801, root:99}">Travis 9801</option>

答案 2 :(得分:1)

我不知道方括号是否是分隔符的好选择,主要是因为您只使用左括号或右括号而文本看起来不完整(例如Value1 ] Value2 ] Value 3)。

就个人而言,我更喜欢使用管道(|)作为分界符,因为它不是常用的字符。

答案 3 :(得分:0)

不要将数据存储在GUI字符串中。如果你的老板要求你停止在下拉选项中显示“root”,那么告诉他你必须重写你的数据模型是愚蠢的。数据不喜欢以字符串形式存在 - 它们不透明,速度慢,不可能使类型安全,并且容易受到注入攻击。

你的程序需要知道一个名叫Travis的人,编号为9801和root 99,所以请以编程方式保存这些数据并从中生成选项字符串(无论你喜欢格式化)。