簡體   English   中英

javascript / jquery:從字符串中提取電話號碼

[英]javascript/jquery : extract phone numbers from string

我正在嘗試從字符串中提取電話號碼,該字符串可能為空或看起來像以下示例之一:

  • “Tél。:04 27 52 12 87港口:07 67 11 06 87”
  • “Tél。:04 27 52 12 87”
  • “港口。:07 67 11 06 87”

此外,電話號碼可能如下所示:(0039)234786因此,常數是“Tél。:”和/或“Port。:”

將這些數字放在兩個變量(單元格和固定電話)中。

我已經嘗試過split和indexOf函數,但我很確定有更好,更有效的方法來做到這一點。

有任何想法嗎 ?

如果您已經知道您的字符串是電話號碼,只需替換所有非數字字符即可留下您的電話號碼:

telInteger = parseInt(inputString.replace(/[^0-9]/g,''));

這樣,格式是什么並不重要,你總是得到這個數字。

如果您不知道您的字符串有電話號碼,並且您只是在野外搜索,您可以使用其他答案中的RegEx來檢測電話號碼。

希望這可以幫助

這是一個正則表達式,可以查找您的電話號碼的兩個版本。
這兩個模式由管道符(|)分隔。

在管道的左側,它連續四次查找數字位數 ,然后查找最后一位數字

在管道的右側,它查找括號 ,然后連續四個數字 ,然后是括號 ,然后是一個空格 ,然后是一行中的六個數字

我在regexr.com上通過復制和粘貼文本進行測試,然后在頂部字段中輸入:

/(((\d{2})(\s)){4}(\d){2})|(\((\d){4}\)(\s)(\d){6})/g

注意: regexr.com提供外部斜杠,因此不需要包含上面示例中的斜杠,並在末尾默認為全局“g”標志。

使用RegEx:

((TEL \\ S:\\ S)((\\ d \\ S] +))\\ S([\\ d] +)????)((端口\\ S?:\\。S)([\\ d \\ S] +))?

這應該捕獲你想要獲得的一切。

我看到你說你對RegEx沒有多少經驗......我也沒有,但是今天早上我剛剛完成了這個教程( http://regexone.com/ ),我現在非常自信地使用它們。 這真的沒什么可學的(至少能夠做很多事情)!

只是你知道,我確實使用RegEx工具檢查了它並且它有效!

暫無
暫無

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

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