正则表达式验证不适用于 Google Chrome Android 应用程序,但适用于 Chrome 浏览器 - PC

Posted

技术标签:

【中文标题】正则表达式验证不适用于 Google Chrome Android 应用程序,但适用于 Chrome 浏览器 - PC【英文标题】:Regx Validation won't Work in Google Chrome Android app , But Works on Chrome Browser - PC 【发布时间】:2020-04-30 03:00:41 【问题描述】:

我正在使用以下正则表达式验证,以便在文本字段中仅输入 alpha(纯文本值)。 正则表达式验证在 pc 环境中工作,但通过 chrome 应用程序通过 android 设备托管和访问,验证不起作用(用户可以输入符号和数字)。感谢您的宝贵帮助。

我试过的方法

<input type="text" id="name1"   placeholder="Name" class="form-control" />

$('#name1').bind('keypress', alphaOnly);

function alphaOnly(event) 
    var value = String.fromCharCode(event.which);
    var pattern = new RegExp(/[a-zA-Z]/i);
    return pattern.test(value);
 

【问题讨论】:

【参考方案1】:

在移动设备上试试这个:

$('#name1').bind('keyup', alphaOnly);

function alphaOnly() 
    console.log(this.value);
    this.value = this.value.replace(/[^a-z]/gi,'');
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="name1"   placeholder="Name" class="form-control" />

Got idea from this answer

【讨论】:

非常感谢,它几乎可以工作,但一个小问题,输入的值在文本框中重复(例如 Jhon 输入,然后单击 '$' 结果 JhonJohn)单击符号一段时间 不,我无法重现错误,抱歉。这在我的移动 chrome 浏览器中运行良好【参考方案2】:

你刚刚错过了锚点:

var pattern = /^[a-zA-Z]+$/i;

【讨论】:

谢谢 我也试过了手机??

以上是关于正则表达式验证不适用于 Google Chrome Android 应用程序,但适用于 Chrome 浏览器 - PC的主要内容,如果未能解决你的问题,请参考以下文章

有效的 RegEx 不适用于 ASP.Net MVC 正则表达式属性

C# 中用于电子邮件验证的最佳正则表达式

查找 HTML5 表单用于验证的正则表达式

Google Maps Javascript GeoLocation - 不适用于 Chrome

Google chrome 自动填充功能不适用于所有机器

Google Charts 散点图适用于 Chrome Macbook,但不适用于 Chrome iPhone