是否有一种简单的方法来获得正则表达式的反面,还是我需要构建一个与我所拥有相反的新正则表达式?
例如,我使用这个正则表达式来确保我得到正确的货币值 - 没有$符号.
/^[0-9]+(\.[0-9][0-9]?)?$/
Run Code Online (Sandbox Code Playgroud)
我现在要删除超出此模式的所有内容.例如,如果用户输入字母或尝试输入两个句点,例如7.50.6,我想删除不需要的字符.我怎么做?
我认为你的做法是错误的。首先,试图以这种方式隐藏输入错误是一个坏主意。如果用户必须输入一个数字并且他们额外加了一个点,那么什么可以告诉你哪个是好的部分,哪个是坏的部分?您最好告诉用户他们的输入有问题。
但通常情况下,您可以通过指定正则表达式的外观以及您希望继续使用捕获组的重要部分来使用正则表达式。
这是一个捕获组:([a-z0-9])@example.com; 这是一个非捕获组:(?:hello|hi)。
对于电话号码,重要的是数字,因此您可以捕获它们并接受多种形式的中间字符。这是一个简单的邮政编码:
([A-Z][0-9][A-Z]) ?([0-9][A-Z][0-9])
Run Code Online (Sandbox Code Playgroud)
然后您所要做的就是合并捕获的组。如果存在,则不会捕获该空间。
在MDN上查找更多示例。
| 归档时间: |
|
| 查看次数: |
59 次 |
| 最近记录: |