求高手帮忙用js写一条字符串超长用省略号表示的正则表达式

JavaScript017

求高手帮忙用js写一条字符串超长用省略号表示的正则表达式,第1张

var str = "123456789"

var reg = /(.{6}).*/

str = str.replace(reg, "$1.....")

console.log(str)

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>无标题文档</title>

</head>

<body>

<script type="text/javascript">

/**

*

*

*

*这样的正则貌似最好用多条吧,一条的话不但写起来困难,你反馈给页面提示也不容易,所以我给你写一段验证代码,你来参考一下如何?

*如果你非要用一条正则,这正则实在是很难写,而且在JS里,还不支持正则预判,难度更高

*下面是实现的代码,你只要修改一下就可以直接拿去用了。

*

*

*

**/

function testPass(str){

var rC = {

lW:'[a-z]',

uW:'[A-Z]',

nW:'[0-9]',

sW:'[\\u0020-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E]'

}

function Reg(str, rStr){

var reg = new RegExp(rStr)

if(reg.test(str)) return true

else return false

}

if(str.length < 6){

document.title = '您的密码长度太短'

return false

}else{

var tR = {

l:Reg(str, rC.lW),

u:Reg(str, rC.uW),

n:Reg(str, rC.nW),

s:Reg(str, rC.sW)

}

if((tR.l && tR.u && tR.n) || (tR.l && tR.u && tR.s) || (tR.s && tR.u && tR.n) || (tR.s && tR.l && tR.n)){

document.title = '密码符合要求'

return true

}else{

document.title = '您的密码必须含有“小写字母”、“大写字母”、“数字”、“特殊符号”中的任意三种'

return false

}

}

}

</script>

<input type="text" id="pass" value="abc12C" /> <input type="button" value="测试" onClick="testPass(document.getElementById('pass').value)" />

 </body>

</html>

上面的代码有说明,另外,这段代码是可以供你测试的,是一个完整的HTML文档,只要复制回去,测试一下就OK。