js如何利用正则表达式截取指定长度字符串

JavaScript07

js如何利用正则表达式截取指定长度字符串,第1张

Javascript 字符串上的方法(性能好)

var str = "It's a long string."

var length = 10

console.log( str.slice( 0, length ) ) // "It's a lon"

用正则(match)

var str = "It's a long string."

var length = 10

var regExp = new RegExp( "^(.{0," + length + "}).*$" ) // /^(.{0,10}).*$/

console.log( str.match( regExp )[ 1 ] ) // "It's a lon"

用正则(replace)

var str = "It's a long string."

var length = 10

var regExp = new RegExp( "^(.{0," + length + "}).*$" ) // /^(.{0,10}).*$/

console.log( str.replace( regExp, "$1" ) ) // "It's a lon"

\.\d{4,}$

这是对应正则的小数部分,\.表示小数点,\d为数字,\d{4,}表示最少有4个数字,$表示字符串的结束,如果符合这个正则就表示在字符串最后至少有4位小数

reg=/^\d+\.\d{4,}$/

完整的数字正则可以像这样写

很简单啊:

var reg=/^[^\s]+.*[^\s]+$/ig

[^\s]  表示的意思是除空字符外所有字符,

[^\s]+  的意思就是至少有一个不是为空的字符

.* 意思是任意位数的字符

上面这个正则不能判断长度,但你可以分成两步来,先判断格式,然后再判断长度,如果想通过一个正则来实现,正则这样来写:

var reg=/^(?![\s]).{1,69}[^\s]{1}$/ig

(?![\s])  这一句的意思是设定后面不能为空字符。

.{1,69} 意思是1到69位的任意字符,后面再跟上一位非空的字符,正好七十个。

另外,不让字符的首尾为空,可以用jquery里的$.trim(),来先清除掉字符首尾的空

或者你可以用正则来清除字符首尾的空:

var reg=/^\s+|\s+$/ig