我已经尝试过其他有关SO的问题,但它们似乎并不能为我的问题提供解决方案:
我有以下简化的验证功能
function Validate() {
var pattern = new RegExp("([^\d])\d{10}([^\d])");
if (pattern.test(document.getElementById('PersonIdentifier').value)) {
return true;
}
else {
return false;
}
}
我已经测试过该值是否正确检索。但这不完全匹配10位数字。我不想要更多或更少。仅接受10位数字,否则返回false。
我无法正常工作。尝试以几种方式调整模式,但无法正确进行。也许问题出在其他地方?
我在C#中取得了以下成功:
Regex pattern = new Regex(@"(?<!\d)\d{10}(?!\d)")
可接受的示例:
0123456789、1478589654、1425366989
不能接受的:
a123456789、123456789a,a12345678a
您可以尝试使用test()
返回的函数true/false
var str='0123456789';
console.log(/^\d{10}$/.test(str));
或与不匹配的String#match()
函数一起返回null
var str='0123456789';
console.log(str.match(/^\d{10}$/));
注意:只需使用^
和$
来匹配整个字符串。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句