如何在JavaScript中提供正则表达式模式的空间

时间:2018-06-14 10:19:18

标签: javascript

我正在尝试验证Adhara number

它正常工作,但每个数字都需要一个像

这样的空间
9999(space)9999(space)9999.

我曾试图给\s空间,但它不起作用。

我曾尝试过这种模式

var regaadhar = /^\d{4}\s\d{4}\s\d{4}$/;

这是我的方法:

var aadhar_number = document.getElementById('aadhar').value;

var regaadhar = /^\d{4}\ \d{4}\ \d{4}\ \d{4}$/g;

if (!regaadhar.test(aadhar.value)) {

    document.getElementById('aadhar').style.borderColor = "red";
    return false;
} else {
    document.getElementById('aadhar').style.borderColor = "#cccccc";
}

3 个答案:

答案 0 :(得分:0)

这是工作代码:



var adharNumber = "999999999999";

var newAdhar = adharNumber.replace(/(\d{4})/g, '$1 ').replace(/(^\s+|\s+$)/,'');

console.log(newAdhar);




注意:此脚本仅在字符串是数字时才起作用,而不是在它是aplhanumeric时。

答案 1 :(得分:0)

试试这个:

/^\d{4}\ \d{4}\ \d{4}\ \d{4}$/g

我刚检查过,它工作正常。 你可以在这里测试同样的事情https://regexr.com/

答案 2 :(得分:0)

您的element id aadhar并不存在问题。那么valuedocumentinnerHTML吗?我已经添加了两个不同的元素。



var aadhar_number = document.getElementById('aadhar').innerHTML;

var regaadhar = /^\d{4}\s\d{4}\s\d{4}$/;

if (!regaadhar.test(aadhar_number)) {

    document.getElementById('aadhar').style.border = "thick solid red";
} else {
    document.getElementById('aadhar').style.border = "thick solid #cccccc";
}

aadhar_number = document.getElementById('aadharIncorrect').value;

if (!regaadhar.test(aadhar_number)) {

    document.getElementById('aadharIncorrect').style.border = "thick solid red";
} else {
    document.getElementById('aadharIncorrect').style.border = "thick solid #cccccc";
}

<div id="aadhar">9999 9999 9999</div>
<input id="aadharIncorrect" value="9999 9999 99">
&#13;
&#13;
&#13;