首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式验证

正则表达式验证
EN

Stack Overflow用户
提问于 2019-06-12 23:56:07
回答 1查看 82关注 0票数 1

我处理这个问题已经有一段时间了,希望能得到一些指导。我正在提示用户输入"course“信息(示例AAA.111#2222_aa-1234),然后我为html页面创建了一个验证函数和按钮,以便从javascript获取资源

在我的isValidInfo函数中,我可以让它使用:

代码语言:javascript
复制
var infoRegExp = /^(\D{3}.\d{3}#\d{4}_\D{2}-\d{4})$/g; 

使用IF语句,但else语句不会生成"Invalid information“消息。

另外,一旦我将函数中的代码更改为区分大小写,ie;

代码语言:javascript
复制
/^(\D[A-Z][A-Z][A-Z].\d{3}#\d{4}_\D[a-z][a-z]-\d{4})$/i;

验证功能/按钮不起作用。

代码语言:javascript
复制
<!DOCTYPE html>
<html lang = "en">
    <head>
        <title>Input Course Info</title>
    </head>
    <body>
        <script src = "course.js"></script>
        <button onclick= "validate()">Validate</button>
    </body>

</html>

function isValidInfo(course) {
    var infoRegExp = /^(\D[A-Z][A-Z][A-Z].\d{3}#\d{4}_\D[a-z][a-z]-\d{4})$/i;
    var result = infoRegExp.test(course);
    return result
}
var course = prompt("Enter course information (format: AAA.111#2222_aa-1234): ");
function validate(){
    if (isValidInfo(course)) {
        document.write("Valid information!");
    } else {
        documwnt.write("Invalid information.")
    }
}

我需要能够点击验证按钮,生成一个“有效信息!”消息或“无效信息”。消息。任何有用的指导都将不胜感激。现在,对于原样的代码,validate按钮什么也不做。正在删除A-Z...如果我输入aaa.111#2222_aa-1234,则a-z和将“i”更改为“g”可以使其工作,但任何其他操作都不会产生发现无效信息的消息。

EN

回答 1

Stack Overflow用户

发布于 2019-06-13 00:06:19

您可以使用

代码语言:javascript
复制
function isValidInfo(course) {
    var infoRegExp = /^[A-Z]{3}\.\d{3}#\d{4}_[a-z]{2}-\d{4}$/i; // Remove i flag if aaa.111#2222_aa-1234 is invalid!
    var result = infoRegExp.test(course);
    return result
}
var course = prompt("Enter course information (format: AAA.111#2222_aa-1234): ");
function validate(){
    if (isValidInfo(course)) {
        return "Valid information!";
    } else {
        return "Invalid information.";
    }
}
console.log(validate(course));

regex demo is available here。请注意,应该使用course参数调用validate()函数,因此我在console.log()中添加了validate(course)

另请参阅regex graph

详细信息

  • ^ - string
  • [A-Z]{3}的开始-三个字母(不区分大小写的修饰符使其匹配小写字母,too)
  • \. -a dot
  • \d{3} - three digits
  • # -a dot
  • \d{3} char
  • \d{4} - four digits
  • _ - an underscore
  • [a-z]{2} -an 2 letters
  • - -a hyphen
  • \d{4} - # -四个数字(不区分大小写的修饰符使其匹配小写字母,too)
  • $ -字符串结束。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56566185

复制
相关文章

相似问题

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