银行卡号最后四位用*号代替的正则表达式

JavaScript010

银行卡号最后四位用*号代替的正则表达式,第1张

银行卡号 N位数字

perl:

$a="1232312312313113123132123"#银行卡号

$a=~s/(?<=\d)(?:[\d]{4})$/****/g

print "$a\n"

python:

import re

a="1232312312313113123132123"#银行卡号

a=re.sub("(?<=\d)(?:[0-9]{4})$","****",a)

print a

银行卡卡号没法判断,

只能根据这个号码有什么特点 进行正则式判断。

比如银行卡特点是一共19位,都是数字。

正则式就是"^\\d{19}$"

System.out.println(st.matches("^\\d{19}$"))

如果不是19位数字则打印出false,如果是,则打印出true

(其他还有什么特点吗,不同银行可能有各自的特点,这个你要去问银行)

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Document</title>

</head>

<body>

<input type="text" type="number" name="" id="card" onkeyup="ck(this)"  onKeyDown="del(this)">

<br>

<input type="text" id="show">

</body>

<script type="text/javascript">

var card=''

function ck(e) {

if(e.value.length>card.length){

card=card+e.value.slice(-1)

e.value=e.value.slice(0,-1)+"*"

}

l=e.value.length+1

if(!(l%5)){

e.value=e.value+" "

card=card+" "

}

document.getElementById('show').value=card

}

function del (e) {

if(event.code=="Backspace"){

if(e.value.slice(-1)==" "){

e.value=e.value.slice(0,-1)

card=card.slice(0,-1)

}

card=card.slice(0,-1)

}

}

</script>

</html>

输的太快会出问题