表单验证常用的正则表达式

1.步骤:

①创建文档解析器的工厂对象

②得到文档解析器对象

③获取输入流对象

④通过解析器的parse方法解析is对象 转换成Document对象

⑤返回的是文档的根节点

⑥判断是否有孩子节点进行获取子节点转换成元素节点得到属性节点

⑦得到具体的某个属性节点

2.解析元素节点、属性节点、文本节点:

3.界面搭建

界面搭建的相关代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="${packageName}.${activityClass}" >

    <TextView
        android:id="@+id/tv_tq"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="@string/tq_wendu" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/tv_tq"
        android:text="@string/tq_fengli" />

    <TextView
        android:id="@+id/tv_wendu"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/tv_tq"
        android:gravity="right"
        android:text="@string/wendu_default" />

    <TextView
        android:id="@+id/tv_fengli"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/textView2"
        android:layout_alignBottom="@+id/textView2"
        android:layout_alignLeft="@+id/tv_wendu"
        android:layout_alignParentRight="true"
        android:gravity="right"
        android:text="@string/fengli_default" />

    <RadioGroup
        android:id="@+id/radioGroup1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:orientation="horizontal"
        android:layout_below="@+id/textView2" >

        <RadioButton
            android:id="@+id/radio0"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:checked="true"
            android:text="@string/city1Name" />

        <RadioButton
            android:id="@+id/radio1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/city2Name" />

         <RadioButton
            android:id="@+id/radio2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/city3Name" />

    </RadioGroup>

</RelativeLayout>

其中,android:gravity="right"是右对齐

4.调试

初始化,获取tv_wendu(温度)、tv_fengli(风力)默认值:

int checkedId = rg.getCheckedRadioButtonId();

initData(checkedId);

相关代码:

package www.csdn.net.activityg;

import java.util.List;

import www.csdn.domain.City;
import www.csdn.net.xml.DOMXML;
import android.app.Activity;
import android.os.Bundle;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.TextView;

public class MainActivity extends Activity implements OnCheckedChangeListener{

	//声明空间对象
	private RadioGroup rg;
	private TextView tv_wendu,tv_fengli;

	private DOMXML domXml;
	private List<City> cities;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		//new DOMXML().domXml();
		//获取rg的控件对象
		rg=(RadioGroup) findViewById(R.id.radioGroup1);
		//注册监听事件
		rg.setOnCheckedChangeListener(this);
		tv_wendu = (TextView) findViewById(R.id.tv_wendu);
		tv_fengli=(TextView) findViewById(R.id.tv_fengli);

		//解析xml文件对象的实例化
		domXml=new DOMXML();
		//调用相应的方法
		cities=domXml.domXml();

		//初始化tv_wendu、tv_feng默认值
		int checkedId = rg.getCheckedRadioButtonId();
		initData(checkedId);
	}

	@Override
	public void onCheckedChanged(RadioGroup group, int checkedId) {
		System.out.println(checkedId+"========="+R.id.radio0+";"+R.id.radio1);
		initData(checkedId);
	}
	//根据选中的id进行显示不同城市的天气
	private void initData(int checkedId) {
		City city=null;
		switch(checkedId){
		case R.id.radio0:
			for(City c:cities){
				if("北京".equals(c.getQuName())){
					city=c;
				}
			}
			break;
		case R.id.radio1:
			for(City c:cities){
				if("江苏".equals(c.getQuName())){
					city=c;
				}
			}
			break;
		case R.id.radio2:
			for(City c:cities){
				if("湖南".equals(c.getQuName())){
					city=c;
				}
			}
			break;
		}
		if(city!=null){
			tv_wendu.setText(city.getTem1()+"°~"+city.getTem2()+"°");
			tv_fengli.setText(city.getWindState());
		}
	}
}

总结:

DOM解析的时候,首先要把整个文件读取完毕,装载到内存中。然后再进行解析,在解析的过程,你可以直接获取某个节点,进行操作,也可以获取根节点然后进行遍历操作,得到所有的节点内容。

DOM的优势主要表现在:易用性强,使用DOM时,将把所有的XML文档信息都存于内存中,并且遍历简单,支持XPath,增强了易用性。

DOM的缺点主要表现在:效率低,解析速度慢,内存占用量过高,对于大文件来说几乎不可能使用。另外效率低还表现在大量的消耗时间,因为使用DOM进行解析时,将为文档的每个element、attribute、processing-instrUCtion和comment都创建一个对象,这样在DOM机制中所运用的大量对象的创建和销毁无疑会影响其效率。

适用于:解析小型的xml文件

表单验证常用的正则表达式

时间: 2024-12-31 16:51:07

表单验证常用的正则表达式的相关文章

前端表单验证常用的15个JS正则表达式

在表单验证中,使用正则表达式来验证正确与否是一个很频繁的操作,本文收集整理了15个常用的javaScript正则表达式,其中包括用户名.密码强度.整数.数字.电子邮件地址(Email).手机号码.身份证号.URL地址. IPv4地址. 十六进制颜色. 日期. QQ号码. 微信号.车牌号.中文正则. 1 用户名正则 //用户名正则,4到16位(字母,数字,下划线,减号) var uPattern = /^[a-zA-Z0-9_-]{4,16}$/; //输出 true console.log(uP

java 表单验证

1.思路:通过表单选择器,表单属性过滤器提取每个表单提交的值,进行验证 2.实现:javascript通过 onSubmit()事件,判断,返回值false不提交,返回true提交,jquery通过submit()事件 3.表单验证常用的方法和事件 a:事件 onblur 失去焦点, onfocus获得焦点 b:方法 blur() 移开焦点触发方法参数 focus() 在文本域中设置焦点 触发方法参数 select()选取文本域中的内容触发方法参数 4.正则表达式: a:定义 var reg =

validation统一表单验证(含自定义枚举验证)

一般我们对前端传输的参数做判断时,可能都是以以下方式进行判断,如果再加上字段的长度.正则等校验的话就会显得代码很累赘了. // 新增/修改通用参数非空校验 if (StringUtil.isBlank(menu.getParentId())) { throw new LsException(ResultEnum.PARAM_MISSING_ERROR, "父级菜单ID不能为空!"); } if (StringUtil.isBlank(menu.getMenuName())) { thr

正则表达式基础知识及常用表单验证正则(使用时查找为主,需多加基础方法的例子)

一.需要转义的特殊符号,也就是需要在前面添加\:!$ * + = | . ?  \  / [] {}  ^ () 二.正则表达式基本形式及方法:A:re =new RegExp(“a”,“i”);  //new出来的匹配方式B:   re=/a/i ;                            //直接量(更常用) pattern.exec(str)     //返回数组pattern.test(str)       //返回布尔值pattern.toSource(str)    

js常用正则表达式表单验证代码

方法一: var re=/正则表达式/; re.test($("txtid").val()) 方法二: $("txtid").val.match(/正则表达式/): 附: 验证数字的正则表达式集(转载) 验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,}$ 验证m-n位的数字:^\d{m,n}$ 验证零和非零开头的数字:^(0|[1-9][0-9]*)$ 验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 验证

js 常用正则表达式表单验证代码

js 常用正则表达式表单验证代码 js 常用正则表达式表单验证代码,以后大家就可以直接使用了. 正则表达式使用详解 简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.其作用如下:测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式.这称为数据有效性验证.替换文本.可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字.根据模式匹配从字符串中提取一个子字符串.可以用来在文本或输入字段中

最常用的15个前端表单验证JS正则表达式

在表单验证中,使用正则表达式来验证正确与否是一个很频繁的操作,本文收集整理了15个常用的JavaScript正则表达式,其中包括用户名.密码强度.整数.数字.电子邮件地址(Email).手机号码.身份证号.URL地址. IPv4地址. 十六进制颜色. 日期. QQ号码. 微信号.车牌号.中文正则. 1 用户名正则 1 2 3 4 //用户名正则,4到16位(字母,数字,下划线,减号) var uPattern = /^[a-zA-Z0-9_-]{4,16}$/; //输出 true consol

一个PHP常用表单验证类(基于正则)

一个基于正则表达式的PHP常用表单验证类,作者:欣然随风.这个表单判断类的功能有:验证是否为指定长度的字母/数字组合.验证是否为指定长度汉字.身 份证号码验证.是否是指定长度的数字.验证邮件地址.电话号码.验证邮编.url地址.数据库转义.数据格式还原等.在平时的PHP项目开发中,这些都比 较常用哦,下面把代码分享给大家: <?php /** * 页面作用:常用表单验证类 * 作 者:欣然随风 * QQ:276624915 */ class class_post { //验证是否为指定长度的字母

HTML(六)——表单验证、正则表达式、事件

1.表单验证<form></form> (1).非空验证(去空格) (2).对比验证(跟一个值对比) (3).范围验证(根据一个范围进行判断) (4).固定格式验证:电话号码,身份证号,邮箱,信用卡号等的验证:需要用到正则表达式来进行验证. (5).其它验证 2.正则表达式 用符号来描述书写规则:/ 中间写正则表达式 / ^ :匹配开头,$:匹配结尾 : /^ve/以ve开头的 /ve$/以ve结尾 \d:一个任意的数字 \w:一个任意的数字或字母 \s:任意字符串 {n}:把左边