2016-06-22 84 views
2

我目前在一个AngularJS指令和模板中工作,我试图检查一个控制器的实例变量是否是某种类型的字符串。Javascript正则表达式字符串与它的数字

具体来说,这个字符串可以是任何东西,只要它有一个8位数字就可以。
传递示例:“gdbfgihfb 88827367 dfgfdg”,“12345678”,“.12345678” 该数字必须是8个数字的固定字符串,其间没有任何内容。

我已经试过这样:

$ctrl.var == /[0-9]{8}/ 

但它并不适用于某些原因。我如何构建一个正则表达式才能做到这一点?

谢谢

+0

添加“从开始到结束”'/^[0-9] {8} $ /'。 '/^\ d {8} $ /'也很好看。 –

+0

为什么它不能工作?有一些日志? –

+0

提供更多的代码请选择。正则表达式看起来很好。 – iplus26

回答

1

代码:

var first = "gdbfgihfb 88827367 dfgfdg"; 
var second = "12345678"; 
var third = ".12345678"; 

var reg = new RegExp('[0-9]{8}'); 

console.log(first.match(reg)); 
console.log(second.match(reg)); 
console.log(third.match(reg)); 

输出:

[ '88827367', index: 10, input: 'gdbfgihfb 88827367 dfgfdg' ] 
[ '12345678', index: 0, input: '12345678' ] 
[ '12345678', index: 1, input: '.12345678' ]