检查Textarea是否包含印度人的手机号码

时间:2019-01-28 15:58:05

标签: javascript regex

我要验证在文本区域(SimpleMDE)中输入的内容 编辑。如果用户在文本编辑器中输入任何印度手机号码,则代码应显示错误。

function validate() {
  var regMobile = new RegExp('^[6-9]\d{9}$');
  var description = document.getElementById('ph').value;

  if (regMobile.test(description)) {
    document.write('phone number exists ' + description);
  } else {
    document.write('phone number not exists ' + description);
  }
}
<form name="eve">
  <textarea id="ph"></textarea>
  <button onclick="validate()">Click me</button>
</form>

例如输入:

9882223456,
8976785768,
7986576783

Sample snippetReference Regex from the Url

2 个答案:

答案 0 :(得分:1)

您需要检查该字段是否包含有效数字。这是一个相对简单的任务。您将需要使用String.prototype.match来查找是否可以找到该号码。如果匹配器返回结果,您将知道您有一个有效的数字。

注意:我借用了Angular_PG的正则表达式。

const PATTERN_MOBILE_INDIA = /\b([0|+[0-9]{1,5})?([7-9][0-9]{9})\b/;

function validate() {
  var desc = document.getElementById('ph').value;
  var match = desc.match(PATTERN_MOBILE_INDIA);
  var contains = match != null;
  var exists = contains ? ('exists: ' + match[0]) : 'does not exist.';
  var el = document.querySelector('.validation-text');
  el.innerHTML = 'Valid phone number ' + exists;
  el.classList.toggle('input-valid', contains);
  el.classList.toggle('input-invalid', !contains);
}
span { display: block; }
.input-valid { color: #080 }
.input-invalid { color: #A00  }
<form name="eve" onSubmit="return false;">
  <textarea id="ph" rows="3" cols="40">Hello 9882223456, how are you?</textarea>
  <button onClick="validate()">Validate</button>
  <span class="validation-text"></span>
</form>

答案 1 :(得分:0)

尝试以下正则表达式。这将有助于验证印度手机号码。

 function validateMobile(mobilenumber) {   
    var regmm='^([0|+[0-9]{1,5})?([7-9][0-9]{9})$';
    var regmob = new RegExp(regmm);
    if(regmob.test(mobilenumber)){
        return true;
    } else {
        return false;
    }    
}
相关问题