- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
1981 年,车辆识别号 (VIN) 使用 17 位系统进行了标准化。在 1981 年之前,制造商使用自己公司独有的 VIN,并且这些数字没有公认的标准,因此不同的制造商使用不同的格式。 http://www.crankshaftcoalition.com/wiki/VIN_decoding
它要求所有销售的公路车辆都包含 17 个字符的 VIN,其中不包括字母 I (i)、O (o) 或 Q (q)(以避免与数字 1 混淆)和 0)。 http://en.wikipedia.org/wiki/Vehicle_identification_number
所以我想要完成的是下拉列表,如果选择 1980 - 1900 之间的任何地方,VIN 要么遵循制造商的指南,要么根本不适用字母 I (i)、O ( o), or Q (q) 可以被使用和任意数量的字符/数字。但是,如果选择 1981 年及以后的版本,则 RegEx 将启动并要求使用我已显示有效或无效 VIN 的表达式对其进行格式化。
暂时插入一个有效的 VIN 以进行测试。如果您删除最后一个数字,它将显示“无效 VIN”
如有任何建议或帮助,我们将不胜感激!
http://jsfiddle.net/ommLz4th/1/
正则表达式
^[A-HJ-NPR-Z\\d]{8}[\\dX][A-HJ-NPR-Z\\d]{2}\\d{6}$
jQuery 识别码验证器
$(function() {
$("#vin").on("keyup blur", function() {
if (validateVin($("#vin").val())) {
$("#result").css('color', 'green').html("Valid VIN");
$("#vin").removeClass("not-ok").addClass("ok");
} else {
$("#result").css('color', 'red').html("Invalid VIN");
$("#vin").removeClass("ok").addClass("not-ok");
}
});
});
function validateVin(vin) {
var re = new RegExp("^[A-HJ-NPR-Z\\d]{8}[\\dX][A-HJ-NPR-Z\\d]{2}\\d{6}$");
return vin.match(re);
}
HTML
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<label name="vin">VIN</label>
<input type="text" id="vin" value="1FAFP40634F172825" />
<span id="result"></span>
为了测试目的下拉
<select name="vehicleyear" id="vehicleyear">
<option value="">Choose Year</option>
<option value="1985">1985</option>
<option value="1984">1984</option>
<option value="1983">1983</option>
<option value="1982">1982</option>
<option value="1981">1981</option>
<option value="1980">1980</option>
<option value="1979">1979</option>
<option value="1978">1978</option>
<option value="1977">1977</option>
<option value="1976">1976</option>
<option value="1975">1975</option>
<option value="1974">1974</option>
</select>
实际下拉
<cfparam name="form.vehicleyear" default="">
<cfset VARIABLES.y1=DatePart("yyyy",Now())>
<cfset VARIABLES.y2=VARIABLES.y1+2>
<cfif Val(form.vehicleyear) LT VARIABLES.y1 or Val(form.vehicleyear) GT VARIABLES.y2>
</cfif>
<cfoutput>
<cfselect name="vehicleyear" id="vehicleyear" required="yes" message="Please select vehicle year.">
<option value="" selected="selected">Select Year</option>
<cfloop index="i" from="#VARIABLES.y2#" to="1900" step="-1">
<option value="#i#"<cfif form.vehicleyear EQ i> selected</cfif>>#NumberFormat(i,"0000")#</option>
</cfloop>
</cfselect>
</cfoutput>
最佳答案
我不会为您开发正则表达式,但整体模式应该是这样的:
$(function() {
$("#vin").on("keyup blur", function() {
if ( validateVin( this.value, Number($("#vehicleyear").val()) ) ) {
$("#result").css('color', 'green').html("Valid VIN");
$("#vin").removeClass("not-ok").addClass("ok");
} else {
$("#result").css('color', 'red').html("Invalid VIN");
$("#vin").removeClass("ok").addClass("not-ok");
}
});
function validateVin(vin, date) {
if(date > 1980) {
var re = new RegExp("^[A-HJ-NPR-Z\\d]{8}[\\dX][A-HJ-NPR-Z\\d]{2}\\d{6}$");
return vin.match(re);
} else {
//Pre validation are rules to complex. We are forced to assume the vin is valid.
//Though really at least a simple test would be preferable - eg vin.length >= 20 or whatever
return true;
}
}
});
请注意 vin
和 date
被传递给 validateVin()
从而允许代码分支。
关于javascript - 1980 年前和 1980 年后的 RegEx Vin 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26594504/
我根据 http://en.wikipedia.org/wiki/Vehicle_identification_number 编写了一个 VIN 验证正则表达式但当我尝试运行一些测试时,它不接受一些有
我正在尝试将 this PHP validation code 转换为 ColdFusion。但是,我无法让我的 CF 版本正确验证 VIN。我希望有人能阐明我所缺少的东西。 functio
我想使用 javascript 分解数组中的 VIN,可能使用正则表达式,然后使用某种循环... 以下是读取 VIN 的方法: http://forum.cardekho.com/topic/600-
我设计了一些Vehicle Identification Number (VIN)不同 OEM 的解码器。关于 VIN 号码的事情……尽管有些标准化,但每个 OEM 都可以重载字符位置代码并以不同的方
有没有人创建过 VIN 验证器?我正在尝试创建一个文本框,用户将在其中输入车辆识别号,然后 JS/jQuery 将验证其是否正确,以防他们输入错误的号码。 我是 JS/jQuery 的新手,找到了一些
如何验证 Vehicle Identification Number用PHP?我只需要检查输入的 VIN 号码是否正确。 最佳答案 这是我使用维基百科文章中的示例快速编写的内容。 不保证完美或无错误或
我以前从未将 API 集成到我的任何应用程序中。我想集成一个基本的 VIN 解码器 API,它将在提交车辆的 VIN 后提供基本的车辆信息。我想使用 NHTSA 车辆 API,因为它免费且简单。我最熟
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 6 年前。
我一直在与 Autocheck 合作,但他对 PHP 完全没有了解。我创建了一个页面,当客户单击链接时,我必须将其发送到页面。显示的页面必须显示自动检查车辆历史报告。 我已经创建了页面,并且链接完全按
所以我有一个 jQuery 函数来验证 VIN 是否有效。我想做的是尝试弄清楚 CSS 它将在文本框的哪个位置圈出并在正确或正确的情况下给出绿色复选标记如果它不正确,则带有红色 X 的红色边框。底部的
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 6 年前。
我正在开发一个需要 VIN 扫描的 Android 应用程序。我没有找到任何好的库或 sdk。我试过 Zxing,但它不进行 VIN 扫描。谁能帮我在我的应用程序中实现 VIN 扫描。最好使用任何 S
我正在使用 ZBar iOS SDK 扫描应用程序上的 VIN 条形码。但它有时会在 VIN 前面额外添加一个“I”字符并省略最后一个字符。 此外,我正在使用 CODE 39 符号系统。这是正确的还是
我需要使用 plxKiwi-2 wifi obd2 设备从汽车 Controller 获取 VIN 号。我正在获取其他信息,例如汽车转速、速度、 throttle 位置等。格式正确。但是当我请求 VI
如果我发送超过 12 个 VIN,我会遇到一个问题(HTTP STATUS 400 Bad Request)使用代码解码 VIN,但如果我通过粘贴到网站发送超过 100 个的列表,我会得到结果。 我正
我目前正在从事一个项目,我需要在其中找到 VIN 编号的制造商、型号和年份。我有一个包含 300 个不同 VIN 号码的列表。遍历每个单独的 VIN 编号并手动将制造商、型号和年份输入 excel 非
1981 年,车辆识别号 (VIN) 使用 17 位系统进行了标准化。在 1981 年之前,制造商使用自己公司独有的 VIN,并且这些数字没有公认的标准,因此不同的制造商使用不同的格式。 http:/
有谁知道以 PHP、Perl 或 Python(或任何其他语言,我可以轻松转换代码)作为开源/免费软件提供的 ISO 3779 车辆 VIN 解码器库? 即使只是解码 WMI 部分(前 3 个位置)也
我正在为当前项目使用 MVC 4。项目通常处理车辆并为不同的用途识别正确的车辆。 我有以下模型。 public class Vehicle { [Required] public stri
我是一名优秀的程序员,十分优秀!