草庐IT

javascript - 使用正则表达式验证 URL 是否安全?

在我的网络应用程序中,我有一个表单字段,用户可以在其中输入URL。我已经在做一些初步的客户端验证,我想知道我是否可以使用正则表达式来验证输入的字符串是否是有效的URL。那么,两个问题:使用正则表达式这样做安全吗?URL是一个复杂的野兽,就像您不应该使用正则表达式来解析HTML一样,我担心它也可能不适合URL。如果可以完成,什么是适合该任务的正则表达式?(我知道谷歌找到了无数的正则表达式,但我担心它们的质量)。我的目标是防止URL出现在网页中但浏览器无法使用的情况。 最佳答案 嗯……也许吧。人们经常会问一个关于电子邮件地址的类似问题,

javascript - 如何使用正则表达式检查用户输入不只包含特殊字符?

如何对一个只允许特殊字符的字段进行验证,这意味着AB#,A89@,@#ASD是允许的,但@#$^&或#是不允许的。我需要RegEx来进行验证。 最佳答案 str.match(/^[A-Z#@,]+$/)将匹配一个字符串......以包含的模式开始^并结束$...包含任何大写字母A-Z(不匹配小写字母)...仅包含特殊字符#、@和,...至少有1个字符(无空字符串)不区分大小写,你可以在末尾添加i:(i.g./pattern/i)**更新**如果您需要验证该字段是否仅包含特殊字符,您可以检查该字符串是否仅包含不是单词或数字的字符:if

javascript - 如何在此正则表达式中包含 - 和 '?

我在下面有一个用于某些输入名称字段的正则表达式。如何在其中包含撇号和连字符?InputField("tFName",/^[a-zA-Z-\-\]+$/); 最佳答案 已包含连字符(两次),您只需将其编辑到字符类中即可添加撇号:/^[a-zA-Z-\-\']+$/您可以将其重写为如下所示,这样就无需转义连字符并且只包含一次:/^[a-zA-Z'-]+$/示例:http://jsfiddle.net/a4vGA/ 关于javascript-如何在此正则表达式中包含-和'?,我们在StackO

javascript - 正则表达式中的否定

我想在JavaScript中使用正则表达式来验证表单输入。这是一个字符串,不应包含或我提到的任何特定字符集。如果字符串不包含这些字符,则测试应该通过。那么如何在正则表达式中指定不包含字符。示例:stringX="vijay@$%_"我的目标是字符串不应包含''字符。如果stringX没有这些字符,测试应该通过returntrue。注意:我能做到:stringX="vijay@$%_"regExp=/[`]/;if(!rexExp.test(stringX)){doSomthing()}但我不想要这个。因为我会遇到小麻烦。我有一个名为validate()的通用函数functionvali

javascript - 只允许字符或空格的正则表达式

我需要正则表达式方面的帮助。我需要jquery中的表达式,它只允许两个单词之间的字符或空格。不允许有双空格我正在用这个/^[a-zA-Z]+(-_[a-zA-Z]+)*/但它不起作用。例子空格你好-不允许你好空间-不允许你好空间空间你好-不允许空间你好空间-不允许hello1234-不允许你好空间1234-不允许HelloWorld允许你好-允许你好,你好吗 最佳答案 你可以用这个/^([a-zA-Z]+\s)*[a-zA-Z]+$/ 关于javascript-只允许字符或空格的正则表达

javascript - 从组正则表达式中删除逗号

是否有可能由此产生:美国专利6,570,557检索3个组:美国专利6570557(没有逗号)到目前为止我得到:(US)(\s{1}Patent\s{1})(\d{1},\d{3},\d{3})并尝试(?!,)去掉逗号,然后我有效地去掉了整个数字。 最佳答案 尝试:varinput='USPatent6,570,557',matches=input.match(/^(\w+)(\w+)([\d,]+)/),code=matches[1],name=matches[2],numb=matches[3].replace(/,/g,'');

Javascript正则表达式查找不以 "my:"开头的单词

我正在尝试编写一个正则表达式,它会找到花括号之间不以“my:”开头的所有值。例如,我想捕获{this}而不是{my:monkey}。捕获一切的模式是:\{([^\}]*)\}我无法让它工作。到目前为止我最近的镜头是:\{[^my:]*([^\}]*)\}这会失败,因为它只忽略以“m”、“y”或“:”开头的标签。我确定我忽略了一个将“my:”视为一个block的命令..(注意:必须适用于Javascript) 最佳答案 这个应该做的:/\{((?!my:)[^}]+)\}/g查看快速演示http://jsbin.com/ujazul/

Javascript 正则表达式 - 无序字符串中的特定字符数

我正在尝试测试5次无序字符串中是否包含“3”。例如:varre=/3{5}/;re.test("333334");//returnstrueasexpectedre.test("334333");//returnsfalsesincethereisnochainof53s什么正则表达式会使第二行返回true?如果正则表达式不是对此进行测试的最佳方式,那么什么才是?谢谢! 最佳答案 尝试(str.match(/3/g)||[]).length>=5或者str.split(3).length>5其中str是您要测试的字符串。

javascript - 如何使用正则表达式仅查找数字值而不混合字母值?

我有一个等式:+8x2+10y2-99+5=99。我只需要分开数值而不混合字母字符。我使用正则表达式str.match(/[0-9]/g)获取所有数值,但对于上面的等式,结果应该是-99,5,99。 最佳答案 您可以使用可选的连字符和wordboundaries仅匹配给定表达式中的数字:varstr='+8x2+10y2-99+5=99';varmatches=str.match(/-?\b\d+\b/g);document.writeln(''+matches.join(',')+'');输出:-99,5,99RegExDemo

javascript - 如何使用正则表达式替换指定字符串以外的所有内容

为此,我一直在stackoverflow中查找,但我没有任何运气。我要使用的字符串是“xbananay”,其中“x”和“y”可以是任意长度的字母或数字的任意组合。所以我的字符串可以只是“qrstbananag”,但也可以是“abcbanana12345”。我想使用,并且只使用,javascript的替换函数来替换除“banana”之外的所有内容。我已经有一些可以找到香蕉的正则表达式,但是当我想找到其他所有东西时,替换功能将按预期替换我正在寻找的东西。示例:varfullString="qrstbananag"varstrippedBanana=fullString.replace(/(