JavaScript 和经典 ASP:将变量缩减到前五位

JavaScript and Classic ASP: Trimming variable down to first five digits

我在结帐页面上有以下内容,只需要传递 sSTFormZip 变量的前五位数字。幕后发生了一些奇怪的事情,导致五位邮政编码字段附加了四位数字,这对于回头客来说是不正确的。 (这是一个很长的故事,但简而言之,他们正在重新调整最后四位数字的用途,以识别那些跨越多个县的 Zip 的县。)

<input id="STZIP" type=TEXT name="ST_ZIP" maxlength="<%= oRFF.max_length %>" 
 value="<%= sSTFormZip %>" onChange="setRecalcFlag();">

当数据库存储类似 92708-1234 的内容时,如何用 92708 填充该字段?

看到下面的其中一个建议后,我在输入上方添加了这个,但它没有影响该字段:

<script>
    sSTFormZip = sSTFormZip.substring(0, 5);
</script>
<input id="STZIP" type=TEXT name="ST_ZIP" maxlength="<%= oRFF.max_length %>" 
 value="<%= sSTFormZip %>" onChange="setRecalcFlag();">

如果您想获取 sSTFormZIP 变量的前五个字符,那么 VBScript Mid 函数就是您所追求的:

Mid(sSTFormZIP, 1, 5)

应该是return前五个字符。 Mid 的参数是:

  1. 您要提取一部分的字符串
  2. 要提取的第一个字符的索引(从 1 开始)
  3. 您要提取的字符数

您还可以使用 Left 函数:

Left(sSTFormZIP, 5)

这将取 sSTFormZIP 和 return 最左边的五个字符。

<%
dim s
sArray = Split(sSTFormZip,"-")
%>

<input id="STZIP" type=TEXT name="ST_ZIP" maxlength="<%= oRFF.max_length %>" 
value="<%= sArray(0) %>" onChange="setRecalcFlag();">