簡體   English   中英

簡單的正則表達式不適用於Javascript

[英]Simple regex not working in Javascript

我的正則表達式是下一個

/^(\.\w*)|(\d*\.?\d*)$/

它應該可以很好地用於浮點數( 123.2312..56 ),並且從點開始的任何話。
我什么時候感到困惑
/^(\\.\\w*)|(\\d*\\.?\\d*)$/.test("qweasdzxc"); // return true
但沒有OR:

/^(\.\w*)$/.test("qweasdzxc"); // return false   
/^(\d*\.?\d*)$/.test("qweasdzxc"); // return false

RegexPal上一切正常

它應該是

/^((\.\w*)|(\d*\.?\d*))$/

您需要將兩個OR條件包裝在另一個(..)

否則將其解釋為^(\\.\\w*)(\\d*\\.?\\d*)$而不是^和( (\\.\\w*)(\\d*\\.?\\d*) )和$

演示: 小提琴

嘗試這個

/^((\.\w*)|(\d*\.?\d*))$/.test("qweasdzxc"); // false
/^((\.\w*)|(\d*\.?\d*))$/.test(".5"); // true

您必須封裝正則表達式條件(A | B)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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