簡體   English   中英

包含數字的字符串的Javascript正則表達式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM