首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用正则表达式的Javascript

使用正则表达式的Javascript
EN

Stack Overflow用户
提问于 2011-12-12 12:39:29
回答 2查看 612关注 0票数 0

我正在写一个javascript代码usign regex,这样它就可以验证车牌。我想为我的车牌是6-8位数字,不超过8,不小于6,它将是6,7或8。但数字应该是字母数字,所以我试着像。

代码语言:javascript
运行
复制
<!----------LICENSE PLATE---------->
var strFilter = /^[A-Za-z0-9]$/;
var obj = document.getElementById("licenseplate");

if ((!strFilter.test(obj)) || (obj.length < 6) || (obj.length > 8)){
    alert("Please enter valid 6-8 digit license plate.");
    obj.focus();
    obj.style.background = "#DFE32D";
    obj.value = "";
    return false;
}

它在所有条件下都会给我错误,如果所有的都是数字的,或者所有的都是字母的,或者两者的组合。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-12 12:44:52

类似于:

代码语言:javascript
运行
复制
/^[0-9A-Za-z]{6,8}$/
票数 3
EN

Stack Overflow用户

发布于 2011-12-12 12:58:16

obj.length是不对的.document.getElementById()返回的obj是一个DOM节点,而不是一个字符串。假设licenseplate是一个表单域:

代码语言:javascript
运行
复制
var strFilter = /^[0-9A-Za-z]{6,8}$/;
var obj = document.getElementById("licenseplate");
if (!strFilter.test(obj.value)) {
    alert("Please enter valid 6-8 digit license plate.");
    obj.focus();
    obj.style.background = "#DFE32D";
    obj.value = "";
    return false;
}

这是可行的。

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

https://stackoverflow.com/questions/8470016

复制
相关文章

相似问题

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