【问题标题】:How can I validate check for a phone number?如何验证电话号码的支票?
【发布时间】:2021-02-05 18:07:40
【问题描述】:
let phoneNumber = $('#order-phone').val()

if (phoneNumber.length == 13) {
    parts = phoneNumber.split('-');
    if ((parts[0] == '010') && ((parts[1] >= '0000') && (parts[1] <= '9999')) && ((parts[2] >= '0000') && (parts[2] <= '9999'))) {
        alert('Finished');
    } else {
        alert('Put your number like "010-OOOO-OOOO"');
    }
} else {
    alert('Put your number like "010-OOOO-OOOO"')
}

情况就像.. 用户输入他的电话号码作为字符串,然后我检查用户给我的电话号码的验证。 上面的“PhoneNumber”是字符串类型,我不知道如何对包含数字字符和连字符在内的 13 个字符的电话号码字符串进行完美验证。

【问题讨论】:

标签: javascript html string validation if-statement


【解决方案1】:

使用 javascript 正则表达式进行验证。长度检查不是必需的,正则表达式会处理这个问题。下面的正则表达式是用于电话号码验证的全局正则表达式。为了您的检查,正则表达式应该是其他正则表达式的选项 4。 这是代码:

let phoneNumber = $('#order-phone').val();
let patt = new RegExp(/^[+]*[0-9]{1,4}-[0-9]{10}$/g); //This is the regex for validation phone number
let res = patt.test(phoneNumber );
console.log(res); //this will return true or false

//alert(res);

其他正则表达式:

  1. /^[+]*[0-9]{1,4}-[0-9]{10}$/g : +XXX-XXXXXXXXXX(“+”是可选的)
  2. /^[+]*010-[0-9]{10}$/g : +010-XXXXXXXXXX(“+”是可选的)
  3. /^[0-9]{3}[-]{0,1}[0-9]{4}[-]{0,1}[0-9]{4}$/g : XXX -XXXX-XXXX('-' 是可选的)
  4. /^[0-9]{3}[-]{1}[0-9]{4}[-]{1}[0-9]{4}$/g : XXX-XXXX-XXXX .

【讨论】:

  • OP 似乎想允许 010 前缀 only,如果是这样,则不允许 {1,4}。
猜你喜欢
  • 1970-01-01
  • 2012-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-17
  • 1970-01-01
相关资源
最近更新 更多