[英]Javascript regex for string with a number in it
我目前在AngularJS指令中工作,並且在模板中嘗試檢查Controller的實例變量是否為某種字符串。
具體來說,該字符串可以是任何東西,只要其中包含8位數字即可。
通過的示例:“ gdbfgihfb 88827367 dfgfdg”,“ 12345678”,“。12345678”該數字必須是由8個數字組成的實字符串,且中間沒有任何數字。
我已經試過了:
$ctrl.var == /[0-9]{8}/
但是由於某種原因,它不起作用。 我該如何構造一個正則表達式呢?
謝謝
您的正則表達式很好,但是比較是錯誤的。 你要
/\d{8}/.test($ctrl.var)
參見https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test
let tests = ["gdbfgihfb 88827367 dfgfdg", "12345678", ".12345678", "nope, no numbers here"], rx = /\\d{8}/; tests.map(str => document.write(`<pre>"${str}": ${rx.test(str)}</pre>`))
碼:
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' ]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.