我有一个与我最近的帖子类似的问题但是我正在尝试转换为javascript验证过程的邮政编码验证器.我的脚本看起来像这样:
    var regPostalCode = new RegExp("\\d{5}(-\d{4})?");
    var postal_code = $("input[name='txtzipcode']").val();
    if (regPostalCode.test(postal_code) == false) {
        bValid = false;
        msg = msg + '<li>Invalid Zip Code.</li>';
    }
从我最近的帖子中我了解到我在开始时需要的逃脱角色.基本上这个函数验证的是一个22621的邮政编码是正确的,但它不应该验证22601-1.破折号后应该有2位数字,如22601-9999.这就像验证的第二部分总是如此.这个表达对我来说再次起作用.我错过了什么吗?是否需要另一个逃脱角色?
Dir*_*irk 17
添加锚点:new RegExp("^\\d{5}(-\\d{4})?$").这会强制正则表达式引擎仅接受匹配,如果它从string(^)的第一个字符开始并在匹配的字符串()的末尾结束$.
请注意,您在问题中给出的正则表达式中可能存在拼写错误:第二个\d是缺少反斜杠.
| 归档时间: | 
 | 
| 查看次数: | 19056 次 | 
| 最近记录: |