【问题标题】:want a function for validating French vehicle number format [closed]想要一个验证法国车号格式的功能[关闭]
【发布时间】:2013-06-23 07:09:01
【问题描述】:

我需要一个功能,可以在车牌是法国车牌之前在输入字段中输入车牌注册时进行检查

法式板的格式为:AA - 123 - AA

i found this question but i dont know how i can use that

Wikipedia spec for french vehicle

For example i need similary like this

我想,当我输入例如:12 时,由于出现错误等原因,我无法更进一步。

感谢任何帮助

【问题讨论】:

  • 你知道法国车牌有很多可能的格式(有些人有旧车)吗?许多人都有异国情调的盘子。您最好只检查它是否为非空字符串。
  • @dystroy 是的,我知道,但我只做新盘子

标签: javascript jquery regex


【解决方案1】:

您可以将以下内容用于新的非异国情调的法国盘子。

HTML:

<input id=myInputId>

Javascript:

var myString = document.getElementById('myInputId').value;
var isPlateOK = /^[A-Z]{2} ?- ?\d{3} ?- ?[A-Z]{2}$/.test(myString);

注意事项:

  • “A”可以,但“a”不行。如果要允许小写,请将[A-Z] 更改为[A-Za-z]
  • 空格是可选的。如果您希望它们是强制性的,请删除 ?

更多详情here JavaScript 中的正则表达式。


为了防止在值开始无效时立即输入,必须采取不同的方法:

function check(s) { // checks s is a plate id or the start of a plate id
    var toks = s.split('-');
    //console.log(toks);
    switch(toks.length){
        case 3:
        if (!/^[A-Z]{0,2}$/.test(toks[2].trim())) return false;
        case 2:
        if (!/^\d{0,3}$/.test(toks[1].trim())) return false;
        case 1:
        return /^[A-Z]{0,2}$/.test(toks[0].trim());
        default:
        return false;
    }  
}
var oldvalue = '';
$('#plates').keyup(function(){
    if (!check(this.value)) {
        this.value = oldvalue;
    } else {
        oldvalue = this.value;
    }
});

Demonstration

【讨论】:

  • 我不知道如何使用它... :$
  • @artSx 现在清楚了吗?
  • 我知道这个 jsFiddle 是错误的,但我不知道如何使用你的 js。 jsfiddle.net/vrnQ3 我想这把小提琴我想要什么很清楚。
  • 是的,这是可能的,但我不会这样做:每次您更改要求时,都必须采用不同的路线,而且我不会为编写您的整个程序而获得报酬。我将向您展示如何自动更改为大写:jsfiddle.net/MbQRJ
【解决方案2】:

法式车牌不包含IOU,也不包含000,因此正则表达式为:

^[A-HJ-NP-TV-Z]{2}\s*-\s*(?:00[1-9]|[0-9]{3})\s*-\s*[A-HJ-NP-TV-Z]{2}$

【讨论】:

    【解决方案3】:

    在我们用于验证欧盟国家/地区车辆牌照的欧盟系统中,我们使用此脚本来创建和维护欧盟国家/地区的正则表达式。在比利时,客户还必须选择一种铭牌:BE(默认)、EU 或 CD。

    脚本示例荷兰:

    var d = '[0-9]';
    var s = '[A-Z]';
    var o = '-';
    // var p = '\\.';
    var t1 = s + s + o + d + d + o + d + d; // AA-99-99
    var t2 = d + d + o + s + s + o + d + d; // 99-AA-99
    var t3 = s + s + o + d + d + o + s + s; // AA-99-99
    var t4 = s + s + o + s + s + o + d + d; // AA-AA-AA
    var t5 = d + d + o + s + s + o + s + s; // 99-AA-AA
    var t6 = d + d + o + s + s + s + o + d; // 99-AAA-9
    var t7 = s + s + o + d + d + d + o + s; // AA-999-A
    var t8 = s + o + d + d + d + o + s + s; // A-999-AA
    var t9 = d + o + s + s + s + o + d + d; // 9-AAA-99
    var string = {'DEFAULT-NL' : '^((' + t1 + ')|(' + t2 + ')|(' + t3 + ')|(' + t4 + ')|(' + t5 + ')|(' + t6 + ')|( ' + t7 + ')|(' + t8 + ')|(' + t9 + '))$'}[id];
    return new RegExp(string);
    

    【讨论】:

    • 如何在 onchange 函数上使用它?
    猜你喜欢
    • 1970-01-01
    • 2011-03-31
    • 2010-09-07
    • 2011-08-16
    • 2022-01-26
    • 2010-10-04
    • 1970-01-01
    • 1970-01-01
    • 2012-10-19
    相关资源
    最近更新 更多