发布网友 发布时间:2022-04-23 06:27
共2个回答
懂视网 时间:2022-05-16 10:10
数据验证是网络应用软件从客户端接受数据的重要步骤,毕竟,您需要在使用客户数据前确保其符合预期的格式。在网络应用程序中,您可以选择使用特定平台的工具,比如ASP.NET、JSP等等,或者您可以利用客户端JavaScript的优势,JavaScript中的正则表达式可以简化数据验证的工作。testRegExp = new RegExp("^search$","I")
您可以使用文字方式来创建相同的实例(在斜杠中的部分),如下所示:
testRegExp = /^search$/i
RegExp对象包含了大量的方法,但我们只介绍其中的一个方法test。该方法将对指定字符串进行正则表达式匹配,如果成功则返回true,失败则返回false,该方法可以应用在文字字符串或者字符串变量上,基本上,它允许您对一个字符串进行正则表达式匹配,以下的例子演示了如何使用这个方法:
testRegExp = /search/i; if (testRegExp.test("this is a search string") { document.write("The string was found."); } else { document.write("No match found."); } We can place it in a Web page to test: <html><head> <title>RegExp test</title> </head><body> <script language="javascript"> testRegExp = /search/i; if (testRegExp.test("this is a search string")) { alert("The string was found."); } else { alert("No match found."); } </script></body></html>
实际操作
现在是讲解更加完整的例子的时候了,在列表A中的网页包含了JavaScript方法来验证文本框中输入的值,这段JavaScript代码将搜索包含我的姓氏和我的两个名字的字符串(忽略大小写),如果找到了我的名字,则通过字符串对象的替换方法(search)将其替换为一个短名字。第二个文本框是用于接受时间值的,一个正则表达式在此对输入的时间进行合法性验证(数字是通过冒号分割的)。这个简单的例子说明了如何在您的客户端代码中加入正则表达式来进行匹配和替换:
<html><head> <title>RegExp validation</title> <script language="JavaScript"> function validate() { var doc = document.test; varvalName = new RegExp("^(Tony|Anthony) Patton", "i"); if (doc.Name.value.match(valName) == null) { alert("Name was not found."); } else { doc.Name.value = doc.Name.value.replace(valName, "T. Patton"); } varvalTime = new RegExp("^([0-1][0-9]|[2][0-3]):([0-5][0-9])$"); if (doc.time.value.match(valTime) == null) { alert("Please enter correct time format (hh:ss)"); } } </script></head> <body><form name="test"> Name: <input type="text" name="Name" value=""><br> Time: <input type="text" name="time" value=""><br> <input type="button" name="test" value="test" onClick="validate();"> </form></body></html>
强大而复杂
正则表达式的功能确实很强大,但是使用起来也并不简单,因此,应当循序渐进地学习,当然,它确实值得您花上一些时间来学习如何正确使用。正则表达式为JavaScript (以及其他的语言)操作文本,通用软件进行表单验证提供了一个简单而优雅的方法。
更多如何使用JavaScript和正则表达式进行数据验证相关文章请关注PHP中文网!
热心网友 时间:2022-05-16 07:18
例子: