javascript中的mac地址验证(00:00:00:00:00:00)
mac-address-validation in javascripts (00:00:00:00:00:00)
任何人都可以发送javascript代码来验证网络mac地址(例如02:41:6d:22:12:f1
)吗?它接受从00:00:00:00:00:00
到ff:ff:ff:ff:ff:ff
的值。在文本框的按键事件中,我需要允许字符0-9
、a-f
和:
(冒号)。到目前为止,我拥有的是
macPattern = /^([0-9a-fA-F]{2}[:-]){5}[0-9a-fA-F]{2}$/i;
有了这个,我可以为ff:ff:ff:ff:ff:ff
抛出异常,但也需要为00:00:00:00:00:00
抛出异常。我的模式不是抛出异常。
你能给我一个模式吗?通过这个模式,我可以为ff:ff:ff:ff:ff:ff
和00:00:00:00:00:00
抛出异常。
var MACAddress = document.getElementById("MACAddress");
var MACRegex=new RegExp("^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$");
MACRegex.test(MACAddress);
var re = /^(?!(?:ff:ff:ff:ff:ff:ff|00:00:00:00:00:00))(?:['da-f]{2}:){5}['da-f]{2}$/i;
// ^------------blacklist------------^ ^----------pattern---------^
re.test('ff:ff:ff:ff:ff:ff'); // false
re.test('ff:ff:ff:ff:ff:fe'); // true
re.test('00:00:00:00:00:00'); // false
re.test('00:00:00:00:00:01'); // true
// and of course
re.test('00:00:00:00:01'); // false
re.test('00:00:00:00:00:0g') // false
哦,如果我们要回答关于验证mac的问题,这里是我的:但这仍然不能回答问题:如何防止不构成mac地址的字符。
function isValidMac(mac) {
var a = mac.split(':');
if (a.length !== 6) {
return false;
}
for (var i=0; i<6; i++) {
var s = "0x"+a[i];
if (s>>0 === 0 || s.length != 4) {
return false;
}
}
return true;
}
我认为,虽然其他答案都是有效的,但它们错过了OP问题的按键方面。虽然在这种情况下这可能并不重要,但我相信用户体验是可以改进的。
我建议;
-validating length =12
-accepting {0-9,a-f,A-F},
-alert {g-z,G-Z) (invalid character)
-ignore all others (including Tab, cr, lf, crlf)
-confirm exit after the 12th character
-display 3 forms; raw, couplet, quad
我还没有机会编码,但将在完成时提交并修改
我的答案是:
^([0-9a-fA-F]{2}[:-]){5}[0-9a-fA-F][1-9a-eA-E]$
相关文章:
- 重叠我同意jQuery验证中的标题
- js表单验证中的docment.forms[“myForm”][“Element”].value命令
- 用于显示字段的工具提示和显示 Jquery 验证中的错误的工具提示器
- 指令和表单验证中的 AngularJS 动态必需属性
- 想要在 JQuery 验证中的规则块内调用一个函数 onblur
- 如何避免客户端验证中的冗余条件
- 如果不在表单中填写一个字段,我的光标不应该移动到 javascript 验证中的下一个字段
- 将数据保存在 ember 简单身份验证中的浏览器本地存储中
- 其中's js验证中的错误
- HTTP基本身份验证中的自定义HTML登录表单
- Javascript InstaGram验证中的URL验证
- 在逐步向导中重置淘汰验证中的错误
- 我的jquery表单验证中的问题
- AngularJS表单验证中的ng类
- 表单验证中的表单验证io多个表单之间存在冲突
- 如何防止JavaScript验证中的动态跨度形成
- 为什么浏览器不触发文本字段Jquery表单验证中的自动完成(自动建议)
- 使用JavaScript验证中的文本字段和复选框
- 电话号码验证中的错误
- 文本区域验证中的最小长度