修改正则表达式以验证文本框仅包含字母和数字,排除特定字符如 !@#$%^&*+=

huangapple go评论78阅读模式
英文:

How to modify a regular expression to validate a text box with letters and numbers only, excluding certain characters like !@#$%^&*+=

问题

正则表达式用于文本框验证。我需要验证文本框,条件如下:

  • 可以输入数字和字母。
  • 需要避免使用以下字符 !@#$%^&*+=

目前我正在使用以下正则表达式,但它不起作用。
<input type="text" pattern="^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$" />

你能帮我找到正确的正则表达式吗?

英文:

Regular Expression for text box validation. I need to validate textbox. conditions like below

  • can enter numbers and letters.
  • need to avoid these characters !@#$%^&*+=

Currently i am using below regular expression. but it is not working.
&lt;input type=&quot;text&quot; pattern=&quot;^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$&quot; /&gt;

can u help me to find correct regular expression

答案1

得分: 1

以下是您要翻译的内容:

"您目前正在使用的规则表达式用于验证电子邮件地址。
因此,您必须使用正则表达式来验证文本框,使其只包含字母和数字,并避免字符(!@#$%^&amp; * + =)。

^ [a-zA-Z0-9] + $

这将匹配任何只包含字母或数字的字符串。它不会匹配任何包含字符!@#$%^&amp; * + =的字符串。

&lt;!--开始片段:js隐藏:false控制台:true babel:false --&gt;

&lt;!--语言:lang-html --&gt;

&lt;input type =“ text” pattern =“ ^ [a-zA-Z0-9] + $” /&gt;

&lt;!--结束片段--&gt;

希望这能帮助到您。谢谢!如果需要更多解释,请参考此链接https://laasyasettyblog.hashnode.dev/validating-username-using-regex

通过您提出的问题改进我的回答,

&lt;!--开始片段:js隐藏:false控制台:true babel:false --&gt;

&lt;!--语言:lang-html --&gt;

&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;测试模式&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;input type =“ text” id =“ input” pattern =“ ^ [a-zA-Z0-9./|()?~&lt;&gt;\";:;] + $” /&gt;
&lt;button onclick =“ validate()”&gt;验证&lt;/button&gt;
&lt;script&gt;
function validate() {
 var input = document.getElementById(“input”).value;
 var pattern = /[a-zA-Z0-9./|()?~&lt;&gt;\";:;]+/;
 if (pattern.test(input)) {
  alert(“有效”);
 } else {
  alert(“无效”);
 }
}
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;

&lt;!--结束片段--&gt;
英文:

The regulation expression you are currently using is for validate email addresses.
So you have to use a regular expression to validate textboxes, make it only contain letters and numbers and avoid the characters (!@#$%^&*+=).

^[a-zA-Z0-9]+$

This will match any strings that is a letter or a number. It will not match any strings that any characters !@#$%^&*+=.

<!-- begin snippet: js hide: false console: true babel: false -->

<!-- language: lang-html -->

&lt;input type=&quot;text&quot; pattern=&quot;^[a-zA-Z0-9]+$&quot; /&gt;

<!-- end snippet -->

Hope this will help. Thank you!
Refer to this link if you need more clarifications https://laasyasettyblog.hashnode.dev/validating-username-using-regex

Improving my answer with the question u asked,

<!-- begin snippet: js hide: false console: true babel: false -->

<!-- language: lang-html -->

&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Test Pattern&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;input type=&quot;text&quot; id=&quot;input&quot; pattern=&#39;^[a-zA-Z0-9./|()?~&lt;&gt;&quot;:;]+$&#39; /&gt;
&lt;button onclick=&quot;validate()&quot;&gt;Validate&lt;/button&gt;
&lt;script&gt;
function validate() {
 var input = document.getElementById(&quot;input&quot;).value;
 var pattern = /[a-zA-Z0-9./|()?~&lt;&gt;&quot;:;]+/;
 if (pattern.test(input)) {
  alert(&quot;Valid&quot;);
 } else {
  alert(&quot;Invalid&quot;);
 }
}
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;

<!-- end snippet -->

huangapple
  • 本文由 发表于 2023年6月1日 10:38:06
  • 转载请务必保留本文链接:https://go.coder-hub.com/76378346.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定