信用卡信息的正则表达式不应允许使用字符
Regular Expression for Credit card information should not allow characters
我使用正则表达式^4[0-9]{15}$
来检查以4
开头的VISA信用卡信息,这些信息的长度为16位。
这个表达式接受像4141414141414141aa
这样的信用卡号,这是错误的,因为它接受有效信用卡号末尾的字母字符。
我该如何解决这个问题?
如果您使用Java,锚点不是^
和$
,而是'A
和'z
,因此您的正则表达式将是
"''A4[0-9]{15}''z"
或
"''A4''d{15}''z"
在Javascript中,锚实际上应该是^
和$
,从而形成正则表达式:
/^4'd{15}$/
在我的Firebug Javascript控制台中测试:
>>> var val1='4141414141414141';
>>> var val2='4141414141414141aa';
>>> /^4'd{15}$/.test(val1);
true
>>> /^4'd{15}$/.test(val2);
false
您可以在JavaScript中使用'b
来匹配单词的开头和结尾。所以它可以是:
if (/'b4'd{12}(?:'d{3})?'b/.test(subject)) {
// Successful match
} else {
// No match
}
根据http://tools.twainscanning.com/getmyregex
相关文章:
- 使用RegExp查找url中的字符
- 使用正则表达式将输入格式设置为单字符逗号、单字符逗号等
- 允许在文本框中使用某些字符
- 使用Google Maps API向标记添加多个字符
- 使用json_encode通过xmlhttp.responseText发送特殊字符(即caron)
- 如何使用Javascript在给定的句子中找到大写单词并在其前面添加一个字符
- 使用正则表达式匹配长度为六个字符的字母数字字符串
- 如何使用JavaScript粘贴原始二进制文件而不出现“无效字符”错误
- 使用提取文本webpack插件时出现意外字符
- 在csv文件名中使用西班牙语字符
- 在List.js中使用非英语字符
- 如何使用javascript获取&使用字符偏移量设置插入符号位置
- 信用卡信息的正则表达式不应允许使用字符
- 自动缩放问题:它使用字符's计数
- 我怎样才能通过使用字符位置来获得单词
- Regex-为了允许数字,只能使用字符R、N、X、B、@
- 如何在HTML画布中静态声明字母而不使用字符码
- 决定什么和如何使用字符偏移量
- 使用敲除扩展程序不允许使用字符数组
- Asp.Net Mvc4:如何在js文件中使用@字符