首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何仅在ColdFusion CFForm中验证字符?

如何仅在ColdFusion CFForm中验证字符?
EN

Stack Overflow用户
提问于 2009-07-07 16:15:52
回答 4查看 7.9K关注 0票数 4

我有一个非常简单的cfform,只有一个表单域:

代码语言:javascript
复制
<cfform action="asdf.cfm" method="post">
  <cfinput name="fieldName" type="text" size="20" maxlength="20" required="yes" validate="regex" pattern="[A-Za-z]" message="Only characters are allowed." />
  <input type="submit" name="btnSubmit" value="check" />
</cfform>

从理论上讲,这将只允许A-Z和a-z在任何组合中,并且必须包含一些内容。

在实践中,我能够输入' a‘,并且javascript验证没有任何问题。既然“space”字符既不在a-z中,也不在A-Z中,这是怎么回事?

谢谢!克里斯

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-07-07 16:28:17

您缺少字符串开头和字符串结尾锚点:

代码语言:javascript
复制
^[A-Za-z]$

或者,更有可能是:

代码语言:javascript
复制
^[A-Za-z]{1,20}$

修改后的示例:

代码语言:javascript
复制
<cfform action="asdf.cfm" method="post">
  <cfinput name="fieldName" type="text" size="20" maxlength="20" required="yes" validate="regex" pattern="^[A-Za-z]{1,20}$" message="Only characters are allowed." />
  <input type="submit" name="btnSubmit" value="check" />
</cfform>

没有这些锚点,正则表达式只需要在任何地方匹配,它不需要完全匹配。

票数 13
EN

Stack Overflow用户

发布于 2009-07-07 16:35:44

就我个人而言,我会避免使用内置的coldfusion javascript。如果您自己滚动,您将有更多的控制,它将使您能够以其他方式显示错误,而不是警告框。

代码语言:javascript
复制
<script>
function checkit() {
    var v = document.getElementById("text1").value;
    if(!v.match(/^[a-zA-Z]+$/)) {
        alert(v + ' contains invalid characters');
        return false;
    }
    return true;
}
</script>
<form onsubmit="return checkit()">
<input type="text" id="text1">
<input type="submit">
</form>
票数 2
EN

Stack Overflow用户

发布于 2010-11-24 17:06:11

代码语言:javascript
复制
<script>
function checkit() {
    var v = document.getElementById("text1").value;
    if(!v.match(/^[a-zA-Z\\ \\.\\]+$/)) {
        alert(v + ' contains invalid characters');
        return false;
    }
    return true;
}
</script>
<form onsubmit="return checkit()">
<input type="text" id="text1">
<input type="submit">
</form>

这里也是可能的入口和点,但是我必须怎么做才能重获。

当然,谢谢大家的帮助,你帮了这么多忙。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1093312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档